Wenn Knoten in der Google Distributed Cloud ausfallen, was auf Probleme mit dem Speicher, dem Netzwerk oder einer Fehlkonfiguration des Betriebssystems zurückzuführen sein kann, müssen Sie den Clusterstatus effizient wiederherstellen. Nachdem Sie den Clusterstatus wiederhergestellt haben, können Sie den Knotenfehler beheben. In diesem Dokument erfahren Sie, wie Sie eine Wiederherstellung nach Knotenfehler-Szenarien erreichen, indem Sie einen Knoten zurücksetzen und bei Bedarf erzwingen können, ihn zu entfernen.
Wenn Sie einem Cluster Knoten hinzufügen oder daraus entfernen möchten, ohne dass ein Knoten ausgefallen ist, lesen Sie den Hilfeartikel Cluster aktualisieren.
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.Knoten zurücksetzen
Bei einem Knotenfehler können Sie manchmal keine Zurücksetzungsbefehle auf den Knoten ausführen, da der Knoten möglicherweise nicht erreichbar ist. Möglicherweise müssen Sie das Entfernen des Knotens aus dem Cluster erzwingen.
Wenn Sie einen Knoten ordnungsgemäß zurücksetzen und den Cluster aktualisieren, geschehen folgende Aktionen:
- Der Knoten wird ähnlich wie bei
kubeadm reset
zurückgesetzt und der Computer kehrt zum vorinstallierten Zustand zurück. - Die zugehörigen Verweise auf den Knoten werden aus den benutzerdefinierten Ressourcen des Knotenpools und des Clusters entfernt.
Bei einigen der folgenden bmctl
-Befehle zum Zurücksetzen von Knoten gibt der Parameter --force
an, ob die Befehle zum Zurücksetzen (Schritt 1) übersprungen werden sollen. Wenn der Parameter --force
verwendet wird, führt bmctl
nur den Schritt zum Entfernen (Schritt 2) aus und die Befehle zum Zurücksetzen nicht.
Worker-Knoten entfernen
So entfernen Sie einen Worker-Knoten aus einem Cluster:
Versuchen Sie, den Knoten ordnungsgemäß zurückzusetzen. Nach dem Zurücksetzen wird der Knoten aus dem Cluster entfernt:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Ersetzen Sie Folgendes:
COMMA_SEPARATED_IP
: die IP-Adressen der zurückzusetzenden Knoten, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die ausgefallenen Knoten enthält.ADMIN_KUBECONFIG
: der Pfad zur Dateikubeconfig
des Administratorclusters an.
Wenn dieser Befehl erfolgreich ist, können Sie den Knoten jetzt diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die restlichen Schritte in diesem Abschnitt.
Wenn der vorherige Schritt zum Zurücksetzen des Knotens fehlschlägt, erzwingen Sie seine Entfernung aus dem Cluster. Bei diesem erzwungenen Entfernen wird der vorherige Schritt, bei dem diese Zurücksetzungsbefehle ausgeführt werden, übersprungen. Es wird nur der Schritt ausgeführt, bei dem die zugehörigen Verweise auf den Knoten aus dem Knotenpool und den benutzerdefinierten Clusterressourcen entfernt werden:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG \ --force
Sie können jetzt den Knoten diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben.
Wenn Sie das Entfernen des Knotens aus dem Knotencluster im vorherigen Schritt erzwungen haben, führen Sie den Befehl
bmctl reset
noch einmal aus, um die Knoten zurückzusetzen:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Einzelnen Knoten der Steuerungsebene entfernen
Die Vorgehensweise ist die gleiche wie bei Worker-Knoten. Bei Knoten der Steuerungsebene entfernt bmctl
auch die etcd
-Mitgliedschaft.
Der Cluster ist nicht mehr in einem Zustand der Hochverfügbarkeit (HA), nachdem Sie den ausgefallenen Knoten entfernt haben. Wenn Sie zu einem HA-Zustand zurückkehren möchten, fügen Sie dem Cluster einen fehlerfreien Knoten hinzu.
So entfernen Sie einen Knoten aus einem Cluster:
Versuchen Sie, den Knoten ordnungsgemäß zurückzusetzen. Nach dem Zurücksetzen wird der Knoten aus dem Cluster entfernt:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Ersetzen Sie die folgenden Werte:
COMMA_SEPARATED_IP
: die IP-Adressen der zurückzusetzenden Knoten, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die ausgefallenen Knoten enthält.ADMIN_KUBECONFIG
: der Pfad zur Dateikubeconfig
des Administratorclusters an.
Wenn dieser Befehl erfolgreich ist, können Sie den Knoten jetzt diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die restlichen Schritte in diesem Abschnitt.
Wenn der vorherige Schritt zum Zurücksetzen des Knotens fehlschlägt, können Sie seine Entfernung aus dem Cluster erzwingen. Bei diesem erzwungenen Entfernen wird der vorherige Schritt, bei dem die Befehle zum Zurücksetzen ausgeführt werden, übersprungen. Es wird nur der Schritt ausgeführt, bei dem die zugehörigen Verweise auf den Knoten aus dem Knotenpool und den benutzerdefinierten Clusterressourcen entfernt werden:
bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG \ --force
Sie können jetzt den Knoten diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben.
Wenn Sie das Entfernen des Knotens aus dem Knotencluster im vorherigen Schritt erzwungen haben, führen Sie den Befehl
bmctl reset
noch einmal aus, um die Knoten zurückzusetzen:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIG
Quorum in der HA-Steuerungsebene verloren
Wenn zu viele Knoten der Steuerungsebene in einem HA-Cluster in den Fehlerstatus wechseln, verliert der Cluster das Quorum und ist nicht mehr verfügbar.
Wenn Sie Verwaltungscluster wiederherstellen möchten, geben Sie die Datei kubeconfig
nicht in den Befehlen zum Zurücksetzen an. Wenn Sie die Datei kubeconfig
für einen Verwaltungscluster angeben, erzwingt dieser, dass ein neuer Cluster den Vorgang zum Zurücksetzen ausführt. Geben Sie beim Wiederherstellen eines Nutzerclusters den Pfad zur kubeconfig
-Datei an.
Führen Sie den folgenden Befehl auf einem übrigen fehlerfreien Knoten aus, um einen Cluster wiederherzustellen, der das Quorum verloren hat:
bmctl restore --control-plane-node CONTROL_PLANE_NODE \ --cluster CLUSTER_NAME \ [--kubeconfig KUBECONFIG_FILE]
Ersetzen Sie Folgendes:
CONTROL_PLANE_NODE
: die IP-Adressen eines fehlerfreien Knotens, der Teil des Clusters bleibt.CLUSTER_NAME
: der Name des Zielclusters, der die ausgefallenen Knoten enthält.KUBECONFIG_FILE
: bei der Wiederherstellung eines Nutzerclusters der Pfad zurkubeconfig
-Datei des Nutzerclusters.
Nachdem Sie die ausgefallenen Knoten wiederhergestellt haben, führen Sie den Befehl
bmctl reset
aus, um die Knoten zurückzusetzen:bmctl reset nodes \ --addresses COMMA_SEPARATED_IPS \ --cluster CLUSTER_NAME \ [--kubeconfig KUBECONFIG_FILE]
Ersetzen Sie Folgendes:
COMMA_SEPARATED_IP
: die IP-Adressen der zurückzusetzenden Knoten, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die ausgefallenen Knoten enthält.KUBECONFIG_FILE
: der Pfad zur Dateikubeconfig
des Administratorclusters an.
Wenn die ausgefallenen Knoten zu den Load Balancer-Knotenpools gehörten, könnten sie nach der Wiederherstellung der Knoten um die virtuelle IP-Adresse der Steuerungsebene konkurrieren und den neuen Cluster instabil machen. Führen Sie die Befehle zum Zurücksetzen an den ausgefallenen Knoten so bald wie möglich nach der Wiederherstellung der Knoten aus.
Dieser Prozess ist nur für die Notfallwiederherstellung einer HA-Bereitstellung der Steuerungsebene mit drei Knoten vorgesehen. Dieser Vorgang unterstützt die Wiederherstellung für HA-Konfigurationen mit mindestens 5 Knoten nicht.
Nächste Schritte
Weitere Informationen zum Hinzufügen oder Entfernen von Knoten aus einem Cluster, wenn kein Fehler vorliegt, und zum Prüfen des Knotenstatus finden Sie unter Cluster aktualisieren.
- Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.