Wenn Sie Knoten reparieren oder warten müssen, sollten Sie zuerst die Knoten in den Wartungsmodus versetzen. Durch das Versetzen von Knoten in den Wartungsmodus werden ihnen die Pods/Arbeitslasten sicher entzogen und die Knoten werden von der Pod-Planung ausgeschlossen. Im Wartungsmodus können Sie auf Ihren Knoten arbeiten, ohne den Pod-Traffic möglicherweise zu beeinträchtigen.
Wählen Sie in Ihrer Cluster-Konfigurationsdatei für die unter maintenanceBlocks
ausgewählten Knoten die IP-Bereiche aus, die Sie in den Wartungsmodus versetzen möchten. Die Knoten, die Sie auswählen, müssen bereit sein und im Cluster funktionieren.
Schritte zum Versetzen von Knoten in den Wartungsmodus
So versetzen Sie Knoten in den Wartungsmodus:
Bearbeiten Sie die Cluster-Konfigurationsdatei, um die Knoten auszuwählen, die Sie in den Wartungsmodus versetzen möchten.
Sie können die Konfigurationsdatei mit einem Editor Ihrer Wahl bearbeiten oder die benutzerdefinierte Clusterressource direkt mit folgendem Befehl bearbeiten:
kubectl -n CLUSTER_NAMESPACE edit cluster CLUSTER_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAMESPACE
: den Namespace des Clusters.CLUSTER_NAME
ist der Name des Clusters.
Fügen Sie der Cluster-Konfigurationsdatei den
maintenanceBlocks
-Abschnitt hinzu, um entweder eine einzelne IP-Adresse oder einen Adressbereich für die Knoten anzugeben, die Sie in den Wartungsmodus versetzen möchten.Im folgenden Beispiel wird gezeigt, wie Sie durch die Angabe eines IP-Adressbereichs mehrere Knoten auswählen:
metadata: name: my-cluster namespace: cluster-my-cluster spec: maintenanceBlocks: cidrBlocks: - 172.16.128.1-172.16.128.64
Speichern Sie die aktualisierte Cluster-Konfiguration und wenden Sie sie an.
Anthos Cluster on Bare Metal startet und versetzt die Knoten in den Wartungsmodus.
Führen Sie folgenden Befehl aus, um den Status der Knoten in Ihrem Cluster abzurufen:
kubectl get nodes -n CLUSTER_NAME
Die Ausgabe sollte in etwa so aussehen:
NAME STATUS ROLES AGE VERSION user-anthos-baremetal-01 Ready master 2d22h v1.17.8-gke.16 user-anthos-baremetal-04 Ready <none> 2d22h v1.17.8-gke.16 user-anthos-baremetal-05 Ready,SchedulingDisabled <none> 2d22h v1.17.8-gke.16 user-anthos-baremetal-06 Ready <none> 2d22h v1.17.8-gke.16
Der Status
SchedulingDisabled
gibt an, dass sich ein Knoten im Wartungsmodus befindet.Führen Sie folgenden Befehl aus, um die Anzahl der Knoten im Wartungsmodus abzurufen:
kubectl get nodepools
Die Antwort sollte in etwa so aussehen:
NAME READY RECONCILING STALLED UNDERMAINTENANCE UNKNOWN np1 3 0 0 1 0
Die Spalte
UNDERMAINTENANCE
in diesem Beispiel zeigt, dass sich ein Knoten im Wartungsmodus befindet.Anthos Cluster on Bare Metal fügt Knoten auch folgende Markierungen hinzu, wenn sie in den Wartungsmodus versetzt werden:
baremetal.cluster.gke.io/maintenance:NoExecute
baremetal.cluster.gke.io/maintenance:NoSchedule
So holen Sie Knoten aus dem Wartungsmodus:
So holen Sie Knoten aus dem Wartungsmodus:
Bearbeiten Sie die Cluster-Konfigurationsdatei, um die Knoten zu löschen, die Sie aus dem Wartungsmodus holen möchten.
Sie können die Konfigurationsdatei mit einem Editor Ihrer Wahl bearbeiten oder die benutzerdefinierte Clusterressource direkt mit folgendem Befehl bearbeiten:
kubectl -n CLUSTER_NAMESPACE edit cluster CLUSTER_NAME
Ersetzen Sie Folgendes:
CLUSTER_NAMESPACE
: den Namespace des Clusters.CLUSTER_NAME
ist der Name des Clusters.
Bearbeiten Sie entweder die IP-Adressen, um bestimmte Knoten aus dem Wartungsmodus zu holen, oder entfernen Sie den
maintenanceBlocks
-Abschnitt, um alle Knoten aus dem Wartungsmodus zu holen.Speichern Sie die aktualisierte Cluster-Konfiguration und wenden Sie sie an.
Mit
kubectl
-Befehlen können Sie den Status Ihrer Knoten prüfen.