Nodes und Nodegruppen
NETWAYS Managed Kubernetes Cluster bestehen aus zwei oder mehr Nodegruppen: Einer Nodegruppe für das Controlplane und einer oder meherer Nodegruppen für Worker.
Löschung von Nodegruppen
Die bei Erstellung eines NETWAYS Managed Kubernetes Clusters angelegten Nodegruppen können nicht gelöscht werden.
Für die Worker-Nodegruppe lässt sich die Anzahl der Nodes allerdings auf 0 skalieren.
Skalierung von Nodegruppen
Nodes sind in Nodegruppen organisiert. Möchte ma Nodes erstellen oder bestehende löschen, musst man die Nodegruppe skalieren. Die Nodegruppe legt fest, welcher Flavor für neue Nodes verwendet wird.
Um eine Nodegruppe 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-Nodegruppe
Es ist nicht möglich, die Controlplane-Nodegruppe zu skalieren. Diese wird bei Erstellung eines NETWAYS Managed Kubernetes Clusters auf 1 bzw. 3 Nodes festgelegt.
Erstellung von Nodegruppen
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 (s. Infobox).
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 Nodegruppe 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 Drainen von Nodes
Das automatische Drainen 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 Clustereinstellungen unter Servers gelöscht werden.
Drainen 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 Nodegruppe und Löschung des gewünschten Nodes entfernt NETWAYS Managed Kubernetes® automatisch das zugehörige API-Objekt aus dem Cluster.