Knoten automatisch reparieren

Auf dieser Seite wird erläutert, wie die automatische Knotenreparatur funktioniert und wie Sie die Funktion für Standard-Google Kubernetes Engine-Cluster (GKE) verwenden.

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.
  • Ein Knoten in einem Autopilot-Cluster wird länger als der angegebene Zeitgrenzwert (ca. 10 Minuten) gesperrt.

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

Knotenreparatur

Wenn GKE erkennt, dass ein Knoten repariert werden muss, wird der Knoten entleert und neu erstellt. Bei diesem Vorgang wird der ursprüngliche Name des Knotens beibehalten. 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-Slice-Knoten

Wenn ein TPU-Slice-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 für TPU-Slice-Knoten finden Sie unter Automatische TPU-Slice-Knoten-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, gehen Sie so vor, um sie zu aktivieren:

Console

  1. Öffnen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine.

    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.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autorepair

Dabei gilt:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Standardclusters.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

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 Cloud de Confiance Console aktiviert ist.

Console

  1. Öffnen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine.

    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.

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

Automatische Knotenreparatur deaktivieren

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

Console

  1. Öffnen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine.

    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.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --no-enable-autorepair

Dabei gilt:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Standardclusters.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

Nächste Schritte