Monitorare gli eventi di manutenzione

Questo documento descrive come visualizzare le operazioni di manutenzione dell'host utilizzando la riga di comando e la dashboard di manutenzione di GKE.

La visualizzazione delle operazioni di manutenzione dell'host può aiutarti a mitigare le interruzioni dei workload, in particolare per un cluster GKE a lunga esecuzione con workload che potrebbero essere interrotti a causa di interruzioni periodiche dell'infrastruttura.

Per maggiori dettagli sulla manutenzione dell'host su GKE, consulta Informazioni su come eseguire la manutenzione dell'host su GKE.

Monitorare le notifiche di manutenzione

Prima che una VM abbia un evento di manutenzione pianificato, Compute Engine invia notifiche a tutte le VM. Queste notifiche segnalano l'inizio del periodo di manutenzione di Compute Engine. Quando una manutenzione imminente è pianificata dalla VM, ma non è attiva, GKE aggiunge scheduled-maintenance-time all'etichetta del nodo.

Per monitorare e rilevare gli eventi di manutenzione imminenti, devi visualizzare le notifiche di GKE e Compute Engine.

Visualizzare la manutenzione imminente su Compute Engine

Compute Engine issues notifiche quando i nodi e le relative VM sottostanti sono pianificati per eventi host che causano interruzioni , e quando questi eventi diventano attivi. Le notifiche includono informazioni sull'ora di inizio pianificata, il tipo di evento e altri dettagli.

Visualizzare la manutenzione imminente su GKE

In GKE versione 1.31.1-gke.2008000 e successive e per tipi di macchine specifici, puoi monitorare gli eventi di manutenzione imminenti.

  • Per i tipi di macchine con GPU o TPU collegate, 1.31.1-gke.2008000 o versioni successive
  • Per i tipi di macchine Z3 con più di 18 TiB di SSD, 1.32.4-gke.1376000 o versioni successive
  • Per i tipi di macchine H4D, 1.32.6-gke.1060000 o versioni successive
  • Per c4a-highmem-96-metal, 1.35.0-gke.2232000 o versioni successive

Per visualizzare gli eventi di manutenzione imminenti, puoi procedere in uno dei seguenti modi:

Visualizzare gli eventi Kubernetes per la manutenzione dell'host

In GKE versione 1.35 e successive, vengono generati eventi Kubernetes che monitorano il ciclo di vita della manutenzione dell'host. Questi eventi Kubernetes forniscono una visibilità granulare sui periodi di Compute Engine pianificati, sulle operazioni in corso e sui casi limite come riparazioni o annullamenti, consentendoti di monitorare le interruzioni direttamente nell'ambiente Kubernetes.

Puoi visualizzare questi eventi utilizzando gli strumenti Kubernetes standard o tramite Cloud Logging:

  1. Per visualizzare gli eventi di manutenzione recenti, utilizza il seguente comando kubectl:

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

    Gli eventi Kubernetes vengono conservati nel cluster per 60 minuti, quindi questo comando restituisce solo questi eventi recenti per nodo.

  2. Per visualizzare gli eventi in Cloud Logging:

    1. Vai alla pagina Esplora log nella Cloud de Confiance console:

      Vai a Esplora log

    2. Utilizza la query seguente:

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

Eventi del ciclo di vita della manutenzione

Gli eventi del ciclo di vita della manutenzione vengono generati sulle risorse dei nodi Kubernetes. La tabella seguente descrive gli eventi generati da GKE durante il ciclo di vita della manutenzione dell'host di Compute Engine:

Motivo Descrizione
MaintenanceWindowScheduled È stato pianificato un periodo di manutenzione dell'host di Compute Engine per il nodo
MaintenanceWindowCancelled È stato cancellato un periodo di manutenzione dell'host di Compute Engine sul nodo
MaintenanceWindowRescheduled Il periodo di manutenzione dell'host di Compute Engine pianificato in precedenza è stato spostato e l'ora di inizio della manutenzione è stata aggiornata
CustomerTriggeredMaintenance La manutenzione dell'host di Compute Engine è stata attivata manualmente tramite GKE
MaintenanceWindowStarted È iniziata la manutenzione dell'host di Compute Engine
TerminateOnHostMaintenance Viene generato quando Compute Engine invia il segnale di terminazione (TERMINATE_ON_HOST_MAINTENANCE). Se la terminazione graduale è abilitata, GKE isola il nodo e pianifica l'espulsione dei pod (SIGTERM). I workload ricevono un avviso di 5-60 minuti, a seconda del livello della macchina.
PodEvictionComplete Tutti i pod sono stati espulsi correttamente dal nodo
MaintenanceWindowCleared La manutenzione dell'host di Compute Engine è terminata e il nodo è tornato allo stato pronto.

Informazioni sul payload dell'evento

Se le informazioni su un evento di manutenzione imminente sono disponibili tramite Compute Engine, ogni evento include anche un payload contenente dati di annotazione con le seguenti informazioni:

  • Dettagli del periodo di Compute Engine: include windowStartTime, windowEndTime e latestWindowStartTime.
  • Metadati di manutenzione: lo stato del ciclo di manutenzione al momento dell'evento, il motivo della manutenzione (il motivo può essere elencato come SCHEDULED o UNSCHEDULED) e se il periodo di Compute Engine può essere riprogrammato.
  • Metadati Kubernetes: include Cluster_name, nodepool_name e node_name.

Visualizzazione delle operazioni di manutenzione dell'host nella dashboard di manutenzione di GKE

La dashboard di manutenzione di GKE fornisce una visualizzazione consolidata delle operazioni di manutenzione dell'host. La dashboard offre una visibilità completa sulle attività di manutenzione a livello di cluster, pool di nodi e nodo.

La dashboard è basata su Observability Analytics. Mostra i cicli di manutenzione, gli stati dei nodi e le metriche di downtime storiche.

Passaggi successivi