Fehlgeschlagenen Knoten in GKE on Bare Metal zurücksetzen

Wenn Knoten in GKE on Bare Metal aufgrund von Problemen mit der Fehlkonfiguration des Speichers, Netzwerks oder Betriebssystems ausfallen, 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 einem Knotenausfall vorgehen, indem Sie einen Knoten zurücksetzen und den Knoten bei Bedarf zwangsweise entfernen.

Wie Sie einem Cluster Knoten hinzufügen oder daraus entfernen, wenn ein Knoten nicht ausgefallen ist, finden Sie unter 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 unter Umständen 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 ordnungsgemäß zurücksetzen und den Cluster aktualisieren, werden die folgenden Aktionen ausgeführt:

  1. Der Knoten wird ähnlich wie kubeadm reset zurückgesetzt und die Maschine wird in den vorinstallierten Zustand zurückgesetzt.
  2. 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 Schritt zum Entfernen (Schritt 2) aus, nicht aber die Befehle zum Zurücksetzen.

Worker-Knoten entfernen

Führen Sie die folgenden Schritte aus, um einen Worker-Knoten aus einem Cluster zu entfernen:

  1. Versuchen Sie, den Knoten ordnungsgemäß 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 zurückzusetzenden Knoten, 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 Datei kubeconfig des Administratorclusters.

    Wenn dieser Befehl erfolgreich ist, können Sie jetzt den Knoten diagnostizieren und Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die restlichen Schritte in diesem Abschnitt.

  2. 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, mit dem Befehle zum Zurücksetzen ausgeführt werden. 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 anfänglichen Fehler verursacht haben.

  3. Wenn Sie den Knoten im vorherigen Schritt zwangsweise aus dem Knotencluster entfernt 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, ist der Cluster nicht mehr im Hochverfügbarkeitsstatus. Fügen Sie dem Cluster einen fehlerfreien Knoten hinzu, um den Hochverfügbarkeitsstatus wiederherzustellen.

Führen Sie die folgenden Schritte aus, um einen Knoten aus einem Cluster zu entfernen:

  1. Versuchen Sie, den Knoten ordnungsgemäß 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 zurückzusetzenden Knoten, 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 Datei kubeconfig des Administratorclusters.

    Wenn dieser Befehl erfolgreich ist, können Sie jetzt den Knoten diagnostizieren und Fehlkonfigurationen beheben, die den ursprünglichen Fehler verursacht haben. Überspringen Sie die restlichen Schritte in diesem Abschnitt.

  2. Wenn der vorherige Schritt zum Zurücksetzen des Knotens fehlschlägt, können Sie den Knoten zwangsweise aus dem Cluster entfernen. Bei dieser erzwungenen Entfernung wird der vorherige Schritt, in 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 anfänglichen Fehler verursacht haben.

  3. Wenn Sie den Knoten im vorherigen Schritt zwangsweise aus dem Knotencluster entfernt 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 HA-Steuerungsebene verloren

Wenn zu viele Knoten der Steuerungsebene in einem Hochverfügbarkeitscluster einen Fehlerstatus erreichen, 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 erzwungen, dass ein neuer Cluster den Vorgang zum Zurücksetzen ausführt. Geben Sie beim Wiederherstellen eines Nutzerclusters den Pfad zur Datei kubeconfig an.

  1. 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 Teil des Clusters bleibt
    • CLUSTER_NAME: der Name des Zielclusters, der die fehlgeschlagenen Knoten enthält.
    • KUBECONFIG_FILE: bei der Wiederherstellung eines Nutzerclusters der Pfad zur Nutzercluster-Datei kubeconfig.
  2. Nachdem Sie die fehlerhaften 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 fehlgeschlagenen Knoten enthält.
    • KUBECONFIG_FILE: der Pfad zur Datei kubeconfig des Administratorclusters.

    Wenn die fehlgeschlagenen Knoten Teil der Load-Balancer-Knotenpools waren, 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 so schnell wie möglich nach der Wiederherstellung der Knoten für die ausgefallenen Knoten aus.

Dieser Prozess übernimmt nur die Notfallwiederherstellung für eine Hochverfügbarkeitsbereitstellung der Steuerungsebene mit drei Knoten. Dieser Prozess unterstützt die Wiederherstellung für Hochverfügbarkeitskonfigurationen mit 5 oder mehr Knoten nicht.

Nächste Schritte

  • Weitere Informationen zum Hinzufügen oder Entfernen von Knoten zu einem Cluster, wenn kein Fehler auftritt, 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.