Wenn Knoten in Google Distributed Cloud ausfallen, was aufgrund von Problemen mit Speicher-, Netzwerk- oder Betriebssystemfehlern der Fall sein kann, möchten Sie den Clusterzustand effizient wiederherstellen. Nachdem Sie den Clusterzustand wiederhergestellt haben, können Sie den Knotenfehler beheben. In diesem Dokument erfahren Sie, wie Sie nach Knotenfehlerszenarien eine Wiederherstellung vornehmen, indem Sie einen Knoten zurücksetzen und den Knoten bei Bedarf zwangsweise entfernen.
Wenn Sie Knoten zu einem Cluster hinzufügen oder daraus entfernen möchten, wenn ein Knoten nicht ausgefallen ist, finden Sie weitere Informationen unter Cluster aktualisieren.
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.Knoten zurücksetzen
Bei einem Knotenausfall können Sie manchmal keine Befehle zum Zurücksetzen 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 sauber zurücksetzen und den Cluster aktualisieren, werden die folgenden Aktionen ausgeführt:
- Der Knoten wird ähnlich wie bei
kubeadm reset
zurückgesetzt und die Maschine kehrt in den vorinstallierten Zustand zurück. - Die zugehörigen Verweise auf den Knoten werden aus dem Knotenpool und den benutzerdefinierten Clusterressourcen entfernt.
In 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 Entfernungsschritt (Schritt 2) und nicht die Befehle zum Zurücksetzen aus.
Worker-Knoten entfernen
Führen Sie die folgenden Schritte aus, um einen Worker-Knoten aus einem Cluster zu entfernen:
Versuchen Sie, den Knoten sauber zurückzusetzen. Nachdem der Knoten zurückgesetzt wurde, wird er 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 Knoten, die zurückgesetzt werden sollen, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die fehlgeschlagenen Knoten enthält.ADMIN_KUBECONFIG
: der Pfad zur Dateikubeconfig
des Administratorclusters
Wenn dieser Befehl erfolgreich ist, können Sie jetzt den Knoten diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die verbleibenden Schritte in diesem Abschnitt.
Wenn der vorherige Schritt zum Zurücksetzen des Knotens fehlschlägt, entfernen Sie den Knoten zwangsweise aus dem Cluster. Bei dieser erzwungenen Entfernung wird der vorherige Schritt übersprungen, bei dem Befehle zurückgesetzt werden. Es wird lediglich der Schritt zum Entfernen der zugehörigen Verweise auf den Knoten aus dem Knotenpool und den benutzerdefinierten Clusterressourcen ausgeführt:
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 anfä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
Der Prozess ist derselbe wie bei Worker-Knoten. Bei Knoten der Steuerungsebene bereinigt bmctl
auch die Mitgliedschaft etcd
.
Nachdem Sie den ausgefallenen Knoten entfernt haben, befindet sich der Cluster nicht mehr im Hochverfügbarkeitsstatus. Fügen Sie dem Cluster einen fehlerfreien Knoten hinzu, um zu einem Hochverfügbarkeitsstatus zurückzukehren.
Führen Sie die folgenden Schritte aus, um einen Knoten aus einem Cluster zu entfernen:
Versuchen Sie, den Knoten sauber zurückzusetzen. Nachdem der Knoten zurückgesetzt wurde, wird er 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 Knoten, die zurückgesetzt werden sollen, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die fehlgeschlagenen Knoten enthält.ADMIN_KUBECONFIG
: der Pfad zur Dateikubeconfig
des Administratorclusters
Wenn dieser Befehl erfolgreich ist, können Sie jetzt den Knoten diagnostizieren und alle Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die verbleibenden Schritte in diesem Abschnitt.
Wenn der vorherige Schritt zum Zurücksetzen des Knotens fehlschlägt, können Sie das Entfernen des Knotens aus dem Cluster erzwingen. Bei dieser erzwungenen Entfernung wird der vorherige Schritt übersprungen, bei dem Befehle zurückgesetzt werden. Es wird lediglich der Schritt zum Entfernen der zugehörigen Verweise auf den Knoten aus dem Knotenpool und den benutzerdefinierten Clusterressourcen ausgeführt:
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 anfä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
Verlorenes Quorum in der HA-Steuerungsebene
Wenn zu viele Knoten der Steuerungsebene in einem Hochverfügbarkeitscluster den Status „Fehlgeschlagen“ haben, verliert der Cluster das Quorum und ist nicht mehr verfügbar.
Wenn Sie Verwaltungscluster wiederherstellen müssen, geben Sie die Datei kubeconfig
nicht in den Befehlen zum Zurücksetzen an. Wenn Sie die Datei kubeconfig
für einen Verwaltungscluster bereitstellen, wird ein neuer Cluster gezwungen, den Vorgang zum Zurücksetzen auszuführen. Geben Sie beim Wiederherstellen eines Nutzerclusters den Pfad zur Datei kubeconfig
an.
Führen Sie den folgenden Befehl auf einem verbleibenden 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 als Teil des Clusters verbleibt.CLUSTER_NAME
: der Name des Zielclusters, der die fehlgeschlagenen Knoten enthält.KUBECONFIG_FILE
: bei der Wiederherstellung eines Nutzerclusters der Pfad zurkubeconfig
-Datei des Nutzerclusters.
Nachdem Sie die fehlgeschlagenen 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 Knoten, die zurückgesetzt werden sollen, z. B.10.200.0.8,10.200.0.9
.CLUSTER_NAME
: der Name des Zielclusters, der die fehlgeschlagenen Knoten enthält.KUBECONFIG_FILE
: der Pfad zur Dateikubeconfig
des Administratorclusters
Wenn die fehlgeschlagenen Knoten Teil der Load-Balancer-Knotenpools waren, konkurrieren sie nach der Wiederherstellung möglicherweise um die virtuelle IP-Adresse der Steuerungsebene und machen den neuen Cluster instabil. Führen Sie die Befehle zum Zurücksetzen für die fehlgeschlagenen Knoten so schnell wie möglich aus, nachdem Sie die Knoten wiederhergestellt haben.
Dieser Prozess führt nur die Notfallwiederherstellung für eine Hochverfügbarkeitsbereitstellung der Steuerungsebene mit drei Knoten durch. Dieser Prozess unterstützt die Wiederherstellung für Hochverfügbarkeitseinrichtungen mit 5 oder mehr Knoten nicht.
Nächste Schritte
Weitere Informationen zum Hinzufügen oder Entfernen von Knoten in 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.