Nodes und Nodegroups
NETWAYS Managed Kubernetes® Cluster bestehen aus zwei oder mehr Nodegroups: Einer Nodegroup für das Controlplane und einer oder mehrerer Nodegroups für Worker.
Löschung von Nodegroups
Die bei Erstellung eines NETWAYS Managed Kubernetes® Clusters angelegten Nodegroups können nicht gelöscht werden.
Für die Worker-Nodegroup lässt sich die Anzahl der Nodes allerdings auf 0 skalieren.
Skalierung von Nodegroups
Nodes sind in Nodegroups organisiert. Möchte man Nodes erstellen oder bestehende löschen, musst man die Nodegroup skalieren. Die Nodegroup legt fest, welcher Flavor für neue Nodes verwendet wird.
Um eine Nodegroup zu skalieren, wählt man den Tab Nodegroups und klickt im Kontextmenü auf Resize. Hier wählt man die gewünschte Anzahl an Nodes aus und klickt abschließend auf Resize Nodegroup.
Skalierung der Controlplane-Nodegroup
Es ist nicht möglich, die Controlplane-Nodegroup zu skalieren. Diese wird bei Erstellung eines NETWAYS Managed Kubernetes® Clusters auf 1 bzw. 3 Nodes festgelegt.
Erstellung von Nodegroups
Um eine neue Nodegroup zu erstellen, klickt man auf den Button Create Nodegroup und passt die Nodegroup nach seinen Wünschen an.
Löschen von Nodes
Das Löschen von unhealthy Nodes unterscheidet sich zwischen den Varianten von NETWAYS Managed Kubernetes®, die im Einsatz sind. Die genutzte Variante lässt sich am Namen des NETWAYS Managed Kubernetes® Projekts in MyNWS erkennen:
gardenerim Projektnamen: Siehe NETWAYS Managed Kubernetes® (Gardener)openstackim Projektnamen: Siehe NETWAYS Managed Kubernetes® (Legacy)
Sowohl NETWAYS Managed Kubernetes® als auch seine Legacy-Variante (mit aktiviertem Autoscaling) erkennen unhealthy Nodes nach einer gewissen Zeit automatisch und kümmern sich um die Entfernung von unhealthy Nodes. Eine manuelle Löschung sollte nur als Ausnahme durchgeführt werden.
Node Autoscaling
Abhängig von der Autoscaling-Konfiguration des betroffenen Clusters werden evtl. direkt nach Löschen eines oder mehrerer Nodes neue Nodes im Cluster erstellt.
Das manuelle Löschen von Nodes sollte nur für unhealthy Nodes durchgeführt werden. In einem funktionalen Cluster können Nodes stattdessen durch eine Skalierung der Nodegroup gelöscht werden.
NETWAYS Managed Kubernetes® (Gardener)
In neueren NETWAYS Managed Kubernetes® Clustern basierend auf Gardener können unhealthy Nodes durch Entfernen des entsprechenden Kubernetes API Objekts gelöscht werden:
Dadurch werden folgende Aktionen angestoßen:
- Der Node wird zur Löschung vorgemerkt.
- Der Status der Node-VM wird evaluiert.
- Der Node wird gedraint.
- Existierende Node Finalizer werden gelöscht.
- Die Node-VM wird gelöscht.
Automatisches Draining von Nodes
Das automatische Draining von Nodes erfolgt nach einem Best-Effort-Prinzip. Abhängig von Faktoren wie PodDisruptionBudgets, Node Taints und anderen Kubernetes-Konfigurationen kann es sein, dass ein manuelles Drainen des Nodes notwendig ist, bevor er gelöscht werden kann.
NETWAYS Managed Kubernetes® (Legacy)
Unhealthy Nodes können in MyNWS in den Cluster-Einstellungen unter Servers gelöscht werden.
Draining von Nodes
Um sicherzustellen, dass bei einer Skalierung der gewünschte Node gelöscht wird, muss dieser zuvor vom Scheduling ausgeschlossen und geleert werden:
Nach einer erfolgreichen Skalierung der Nodegroup und Löschung des gewünschten Nodes entfernt NETWAYS Managed Kubernetes® automatisch das zugehörige API-Objekt aus dem Cluster.