Knoten automatisch reparieren


Diese Seite enthält Informationen zur automatischen Knotenreparatur in GKE-Clustern (Google Kubernetes Engine).

Übersicht

Mit der automatischen Knotenreparatur können die Knoten in Ihrem GKE-Cluster fehlerfrei ausgeführt werden. Wenn die Funktion aktiviert ist, prüft GKE regelmäßig den Zustand jedes Knotens im Cluster. Wenn ein Knoten über einen längeren Zeitraum mehrere Systemdiagnosen hintereinander nicht besteht, initiiert GKE für diesen Knoten einen Reparaturprozess.

Einstellungen für Autopilot und Standard

Autopilot-Cluster reparieren Knoten immer automatisch. Sie können diese Einstellung nicht deaktivieren.

In Standardclustern ist die automatische Knotenreparatur standardmäßig für neue Knotenpools aktiviert. Sie können die automatische Reparatur für einen vorhandenen Knotenpool deaktivieren. Wir empfehlen jedoch, die Standardkonfiguration beizubehalten.

Kriterien für die Reparatur

GKE bestimmt anhand der Statusmeldung eines Knotens, ob dieser repariert werden muss. Ein Knoten mit dem Status Ready wird als fehlerfrei erachtet. GKE veranlasst eine Reparatur, wenn ein Knoten in einer festgelegten Zeit mehrmals hintereinander einen fehlerhaften Status meldet. Ein fehlerhafter Status kann Folgendes bedeuten:

  • Ein Knoten meldet bei aufeinanderfolgenden Prüfungen innerhalb des festgelegten Zeitraums (ungefähr zehn Minuten) den Status NotReady.
  • Ein Knoten meldet innerhalb des festgelegten Zeitraums (ungefähr zehn Minuten) gar keinen Status.
  • Auf dem Bootlaufwerk eines Knotens ist für einen längeren Zeitraum (ungefähr 30 Minuten) kein freier Speicherplatz verfügbar.

Mit dem Befehl kubectl get nodes können Sie die Zustandssignale Ihres Knotens jederzeit manuell prüfen.

Knoten-Reparaturverfahren

Wenn GKE erkennt, dass ein Knoten repariert werden muss, wird der Knoten entleert und neu erstellt. GKE wartet eine Stunde lang, ob der Vorgang abgeschlossen wird. Wenn der Vorgang nicht abgeschlossen wird, wird der Knoten heruntergefahren und ein neuer Knoten erstellt.

Wenn mehrere Knoten eine Reparatur benötigen, kann GKE Knoten parallel reparieren. GKE passt die Anzahl der Reparaturen an die Größe des Clusters und die Anzahl der fehlerhaften Knoten an. Auf einem größeren Cluster repariert GKE mehr Knoten parallel, aber mit zunehmender Anzahl fehlerhafter Knoten werden weniger Knoten gleichzeitig repariert.

Wenn Sie die automatische Knotenreparatur irgendwann während des Reparaturvorgangs deaktivieren, werden laufende Reparaturen nicht abgebrochen, sondern für jeden in Reparatur befindlichen Knoten fortgesetzt.

Verlauf der Knotenreparatur

GKE generiert einen Logeintrag für automatisierte Reparaturereignisse. Sie können den Status prüfen, indem Sie den folgenden Befehl ausführen:

gcloud container operations list

Automatische Knotenreparatur in TPU-Knoten

Wenn Sie einen Knotenpool mit mehreren Hosts verwenden, also einen Knotenpool mit zwei oder mehr miteinander verbundenen TPU-VMs, unterscheiden sich die automatischen Reparaturkriterien für die Knoten. Wenn ein TPU-Knoten in einem TPU-Slice-Knotenpool mit mehreren Hosts fehlerhaft ist und eine automatische Reparatur erfordert, wird der gesamte Knotenpool neu erstellt. Weitere Informationen zu den Bedingungen des TPU-Knotens finden Sie unter Automatische TPU-Knotenreparatur.

Automatische Reparatur für vorhandenen Standardknotenpool aktivieren

Die automatische Knotenreparatur wird für jeden Knotenpool einzeln aktiviert.

Wenn die automatische Reparatur für einen vorhandenen Knotenpool in einem Standardcluster deaktiviert ist, führen Sie die folgenden Schritte aus, um sie zu aktivieren:

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --enable-autorepair

Dabei gilt:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Standardclusters.
  • COMPUTE_REGION: Die Compute Engine-Region für den Cluster. Verwenden Sie für zonale Cluster die Option --zone COMPUTE_ZONE.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten.

  5. Klicken Sie auf der Seite Knotenpooldetails auf Bearbeiten.

  6. Klicken Sie unter Verwaltung das Kästchen Automatische Reparatur aktivieren an.

  7. Klicken Sie auf Speichern.

Prüfen Sie, ob die automatische Knotenreparatur für einen Standardknotenpool aktiviert ist

Die automatische Knotenreparatur wird für jeden Knotenpool einzeln aktiviert. Sie können prüfen, ob die automatische Knotenreparatur für einen Knotenpool in Ihrem Cluster mit der Google Cloud CLI oder der Google Cloud Console aktiviert ist.

gcloud

Beschreiben Sie den Knotenpool:

gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME

Wenn die automatische Knotenreparatur aktiviert ist, enthält die Ausgabe des Befehls folgende Zeilen:

management:
  ...
  autoRepair: true

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie auf der Seite „Google Kubernetes Engine” auf den Namen des Clusters des Knotenpools, den Sie prüfen möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie prüfen möchten.

  5. Prüfen Sie unter Verwaltung im Feld Automatische Reparatur, ob die automatische Reparatur aktiviert ist.

Automatische Knotenreparatur deaktivieren

Sie können die automatische Knotenreparatur für einen vorhandenen Knotenpool in einem Standardcluster mit der gcloud CLI oder der Google Cloud Console deaktivieren.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --no-enable-autorepair

Dabei gilt:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Standardclusters.
  • COMPUTE_REGION: Die Compute Engine-Region für den Cluster. Verwenden Sie für zonale Cluster die Option --zone COMPUTE_ZONE.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten.

  5. Klicken Sie auf der Seite Knotenpooldetails auf Bearbeiten.

  6. Entfernen Sie unter Verwaltung das Häkchen aus dem Kästchen Automatische Reparatur aktivieren.

  7. Klicken Sie auf Speichern.

Nächste Schritte