Wartungsereignisse beobachten

In diesem Dokument wird beschrieben, wie Sie Hostwartungsvorgänge über die Befehlszeile und das GKE-Wartungs-Dashboard aufrufen.

Wenn Sie Hostwartungsvorgänge aufrufen, können Sie Störungen von Arbeitslasten minimieren, insbesondere bei einem GKE-Cluster mit langer Laufzeit und Arbeitslasten, die aufgrund regelmäßiger Infrastrukturunterbrechungen gestört werden könnten.

Weitere Informationen zur Hostwartung in GKE finden Sie unter Hostwartung in GKE durchführen.

Wartungsbenachrichtigungen beobachten

Vor einem geplanten Wartungsereignis für eine VM sendet Compute Engine Benachrichtigungen an alle VMs. In diesen Benachrichtigungen wird der Beginn des Compute Engine-Wartungsfensters gemeldet. Wenn eine bevorstehende Wartung von der VM geplant, aber nicht aktiv ist, fügt GKE dem Knotenlabel scheduled-maintenance-time hinzu.

Wenn Sie bevorstehende Wartungsereignisse beobachten und erkennen möchten, müssen Sie die Benachrichtigungen von GKE und Compute Engine aufrufen.

Bevorstehende Wartung in Compute Engine aufrufen

Compute Engine sendet Benachrichtigungen , wenn Knoten und die zugrunde liegenden VMs für störende Hostereignisse geplant sind und wenn diese Ereignisse aktiv werden. Die Benachrichtigungen enthalten Informationen zur geplanten Startzeit, zum Ereignistyp und zu anderen Details.

Bevorstehende Wartung in GKE aufrufen

In GKE-Version 1.31.1-gke.2008000 und höher sowie für bestimmte Maschinentypen können Sie bevorstehende Wartungsereignisse beobachten.

  • Für Maschinentypen mit angehängten GPUs oder TPUs: 1.31.1-gke.2008000 oder höher
  • Für Z3-Maschinentypen mit mehr als 18 TiB SSD: 1.32.4-gke.1376000 oder höher
  • Für H4D-Maschinentypen: 1.32.6-gke.1060000 oder höher
  • Für c4a-highmem-96-metal: 1.35.0-gke.2232000 oder höher

So rufen Sie bevorstehende Wartungsereignisse auf:

  • Fragen Sie Benachrichtigungen auf Knotenebene ab. Führen Sie zu diesem Zweck den nachfolgenden Befehl aus.

    kubectl get nodes -l cloud.google.com/scheduled-maintenance-time \
        -L cloud.google.com/scheduled-maintenance-time
    

    Die Ausgabe sieht etwa so aus:

    NAME                         STATUS    SCHEDULED-MAINTENANCE-TIME
    <gke-accelerator-node-name>  Ready     1733083200
    <gke-accelerator-node-name>  Ready     1733083200
    [...]
    

    Die Spalte SCHEDULED-MAINTENANCE-TIME gibt Sekunden an, die im Unix-Epochenzeitformat angezeigt werden.

  • Fragen Sie diese Benachrichtigungen auf Ebene der Knotenmetadaten ab, indem Sie Instanzen auf eine Benachrichtigung zu einem Wartungsereignis prüfen.

  • Für beschleunigungsoptimierte Maschinenfamilien, die erweiterte Wartung unterstützen, können Sie auf den Endpunkt upcoming-maintenance zugreifen, der Informationen zu geplanten und gestarteten Wartungsereignissen enthält.

Kubernetes-Ereignisse für die Hostwartung aufrufen

In GKE-Version 1.35 und höher werden Kubernetes-Ereignisse ausgegeben, die den Lebenszyklus der Hostwartung verfolgen. Diese Kubernetes-Ereignisse bieten detaillierte Einblicke in geplante Compute Engine-Fenster, laufende Vorgänge und Grenzfälle wie Reparaturen oder Stornierungen. So können Sie Störungen direkt in der Kubernetes-Umgebung beobachten.

Sie können diese Ereignisse mit Standard-Kubernetes-Tools oder über Cloud Logging aufrufen:

  1. Verwenden Sie den folgenden kubectl-Befehl, um die letzten Wartungsereignisse aufzurufen:

    kubectl get events -n kube-system --field-selector involvedObject.kind=Node
    

    Kubernetes-Ereignisse werden 60 Minuten lang im Cluster aufbewahrt. Dieser Befehl gibt also nur diese letzten Ereignisse pro Knoten aus.

  2. So rufen Sie Ereignisse in Cloud Logging auf:

    1. Rufen Sie in der Cloud de Confiance Console die Seite Log-Explorer auf:

      Zum Log-Explorer

    2. Verwenden Sie die folgende Abfrage:

    resource.type="k8s_node"
    log_id("events")
    jsonPayload.metadata.annotations."maintenance.gke.io/category"="HostMaintenance"
    

Lebenszyklusereignisse der Wartung

Lebenszyklusereignisse der Wartung werden für Kubernetes-Knotenressourcen ausgegeben. In der folgenden Tabelle werden die Ereignisse beschrieben, die von GKE während des Lebenszyklus der Compute Engine-Hostwartung ausgegeben werden:

Grund Beschreibung
MaintenanceWindowScheduled Für den Knoten wurde ein Compute Engine-Hostwartungsfenster geplant.
MaintenanceWindowCancelled Für den Knoten wurde ein Compute Engine-Hostwartungsfenster gelöscht.
MaintenanceWindowRescheduled Das zuvor geplante Compute Engine-Hostwartungsfenster wurde verschoben und die Startzeit der Wartung wurde aktualisiert.
CustomerTriggeredMaintenance Die Compute Engine-Hostwartung wurde manuell über GKE ausgelöst.
MaintenanceWindowStarted Die Compute Engine-Hostwartung wurde gestartet.
TerminateOnHostMaintenance Wird ausgegeben, wenn Compute Engine das Beendigungssignal (TERMINATE_ON_HOST_MAINTENANCE) sendet. Wenn die ordnungsgemäße Beendigung aktiviert ist, sperrt GKE den Knoten und plant die Pod-Entfernung (SIGTERM). Arbeitslasten erhalten je nach Maschinenstufe eine Benachrichtigung von 5 bis 60 Minuten.
PodEvictionComplete Alle Pods wurden erfolgreich vom Knoten entfernt.
MaintenanceWindowCleared Die Compute Engine-Hostwartung ist abgeschlossen und der Knoten ist wieder bereit.

Informationen zur Ereignisnutzlast

Wenn Informationen zu bevorstehenden Wartungsereignissen über Compute Engine verfügbar sind, enthält jedes Ereignis auch eine Nutzlast mit Anmerkungsdaten mit den folgenden Informationen:

  • Details zum Compute Engine-Fenster:Enthält windowStartTime, windowEndTime und latestWindowStartTime.
  • Wartungsmetadaten: Der Status des Wartungszyklus zum Zeitpunkt des Ereignisses, der Grund für die Wartung (der Grund kann als SCHEDULED oder UNSCHEDULED) aufgeführt sein und ob das Compute Engine-Fenster neu geplant werden kann.
  • Kubernetes-Metadaten:Enthält Clustername, Knotenpoolname und Knotenname.

Hostwartungsvorgänge im GKE-Wartungs-Dashboard ansehen

Das GKE-Wartungs-Dashboard bietet eine konsolidierte Ansicht der Hostwartungsvorgänge. Das Dashboard bietet umfassende Einblicke in Wartungsaktivitäten auf Cluster-, Knotenpool- und Knotenebene.

Das Dashboard basiert auf Observability Analytics. Es zeigt Wartungszyklen, Knotenstatus und historische Ausfallzeitmesswerte an.

Nächste Schritte