Manchmal müssen Sie das Entfernen aus dem Cluster erzwingen, um einen fehlerhaften Knoten zwecks Reparatur oder Ersatz zu entfernen. Das erzwungene Entfernen entfernt nur den fehlerhaften Knoten aus der Clusterverwaltung. Das erzwungene Entfernen umgeht Bereinigungsjobs für die installierten Komponenten auf dem Knoten selbst. Bei der Wiederherstellung des Knotens führen Sie bmctl reset nodes
aus, um die auf dem Knoten installierten Komponenten zu bereinigen, damit sie wiederverwendet werden können.
Entfernen von Knoten erzwingen
Die folgenden Methoden gelten sowohl für Knoten der Steuerungsebene als auch für Worker-Knoten. Bei Knoten der Steuerungsebene übernehmen Controller in Anthos-Clustern auf Bare-Metal auch die Verwaltung von etcd
-Mitgliedschaften.
bmctl
verwenden
Mit bmctl
können Sie den Knoten aus dem Cluster entfernen. Normalerweise löst bmctl reset
einen zurückgesetzten Job aus, um die installierten Komponenten auf dem Knoten zu bereinigen. Wenn Sie den Knoten aus dem Cluster entfernen möchten, ohne die installierten Pakete zu bereinigen, können Sie den Befehl bmctl
mit dem Flag --force
ausführen:
bmctl reset nodes --addresses NODE_IP --force --kubeconfig ADMIN_KUBECONFIG --cluster CLUSTER_NAME
Dabei gilt:
NODE_IP
: die IP-Adresse des zurückzusetzenden Knotens, z. B.10.200.0.8
.ADMIN_KUBECONFIG
: der Pfad zur kubeconfig-Datei des Administratorclusters.CLUSTER_NAME
: der Name des Zielclusters, der die Knoten enthält.
kubectl
verwenden
In Anthos-Clustern auf Bare-Metal können Sie eine Annotation hinzufügen, um einen Knoten zum erzwungenen Entfernen zu markieren.
Führen Sie nach dem Entfernen des Knotens aus dem übergeordneten Knotenpool den folgenden Befehl aus, um den entsprechenden fehlerhaften Computer mit der Annotation baremetal.cluster.gke.io/force-remove
zu versehen. Der Wert der Annotation selbst spielt keine Rolle:
kubectl --kubeconfig ADMIN_KUBECONFIG -n CLUSTER_NAMESPACE \ annotate machine 10.200.0.8 baremetal.cluster.gke.io/force-remove=true
Anthos on Bare Metal entfernt erfolgreich den Knoten.