Einen mit Kops aufgebauten Kubernetes-Cluster zu entfernen, ist einfach. Dazu bietet das Tool den Befehl "delete", der zusammen mit dem Clusternamen und einer Bestätigung aufzurufen ist, um sicherzugehen, dass auch der richtige Cluster gelöscht wird:
$ kops delete cluster --name kube.aws.zetacloud.de --yes
Damit werden sowohl die in AWS angelegten Ressourcen wie auch die Konfiguration im S3-Bucket gelöscht. Wenn Sie alternativ nur die verwendeten Instanzen beenden möchten, um Kosten zu sparen, zum Beispiel über Nacht, können Sie in den Instance Groups für Master und Nodes die gewünschte Instanzenzahl auf 0 reduzieren. Dazu editieren Sie die beiden Instance Groups, setzen in den Feldern maxSize und minSize den Wert auf 0 und wenden anschließend die Änderungen auf den Cluster an:
$ kops edit ig --name=kube.aws.zetacloud.de nodes $ kops edit ig --name=kube.aws.zetacloud.de master-eu-central-1a $ kops update cluster kube.aws.zetacloud.de --yes
Die angelegten EBS-Volumes bleiben dabei aber erhalten.
Wie bei AWS üblich ist es schwierig, vorab eine genaue Kostenkalkulation zu liefern, da diese stark vom Nutzungsverhalten abhängt, etwa dem aus der Cloud ausgehenden Traffic, der zusätzlich zu den Ressourcen zu bezahlen ist. Als Anhaltspunkt lässt sich sagen, dass ein einfacher Kubernetes-Cluster mit drei Instanzen "t1.micro" (die aber eigentlich für die Aufgabe unterdimensioniert sind) mindestens 60 Euro pro Monat kostet. Ein Cluster mit einer Instanz c4.large für den Master und zwei Instanzen t2.medium für die beiden Nodes (die Default-Einstellung von Kops) beläuft sich bereits auf 180 Euro. Berechnet man noch bescheidene 500 GByte outgoing Traffic pro Monat ein, erhöhen sich die Kosten im letzten Fall auf 220 Euro.
Reduzieren lässt sich der finanzielle Aufwand unter Umständen durch den Einsatz der sogenannten Spot-Instanzen, die Amazon zum reduzierten Preis anbietet. Dazu editieren Sie wie gezeigt die Instance Groups und setzen dort einen Maximalpreis, den Sie für die Instanz zu zahlen bereit sind:
spec: machineType: t2.medium maxPrice: "0.01"