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 ridurre le interruzioni del carico di lavoro, soprattutto per un cluster GKE a esecuzione prolungata con carichi di lavoro che potrebbero essere interrotti a causa di interruzioni periodiche dell'infrastruttura.

Per saperne di più 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 sue 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 pianificata su Compute Engine

Compute Engine invia notifiche quando i nodi e le relative VM sono pianificati per eventi host interruttivi e quando questi eventi diventano attivi. Le notifiche includono informazioni sull'ora di inizio pianificata, sul tipo di evento e altri dettagli.

Visualizzare la manutenzione prevista su GKE

Su 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 H4D, 1.32.6-gke.1060000 o versioni successive.
  • Per c4a-highmem-96-metal, 1.35.0-gke.2232000 o versioni successive.
  • Per i tipi di macchine Z3 con più di 18 TiB di Titanium SSD, 1.32.4-gke.1376000 o versioni successive.
  • Per i tipi di macchine Z4D con più di 41 TiB di Titanium SSD collegato, 1.36.3-gke.1244000 o versioni successive.

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

  • Esegui query sulle notifiche a livello di nodo. Per farlo, esegui questo comando:

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

    L'output è simile al seguente:

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

    La colonna SCHEDULED-MAINTENANCE-TIME rappresenta i secondi, visualizzati nel formato ora epoca di Unix.

  • Esegui query su queste notifiche a livello di metadati del nodo controllando la presenza di una notifica di evento di manutenzione nelle istanze.

  • Per le famiglie di macchine ottimizzate per l'acceleratore che supportano la manutenzione avanzata, puoi accedere all'endpoint upcoming-maintenance che fornisce informazioni sugli eventi di manutenzione pianificati e avviati.

Visualizzare gli eventi Kubernetes per la manutenzione dell'host

In GKE versione 1.35 e successive, vengono emessi eventi Kubernetes che monitorano il ciclo di vita della manutenzione dell'host. Questi eventi Kubernetes offrono una visibilità granulare sulle finestre di Compute Engine pianificate, 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 console Cloud de Confiance :

      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 emessi sulle risorse dei nodi Kubernetes. La tabella seguente descrive gli eventi emessi da GKE durante il ciclo di vita della manutenzione dell'host Compute Engine:

Motivo Descrizione
MaintenanceWindowScheduled Per il nodo è stato pianificato un periodo di manutenzione dell'host Compute Engine
MaintenanceWindowCancelled Un periodo di manutenzione dell'host Compute Engine è stato cancellato sul nodo
MaintenanceWindowRescheduled Il periodo di manutenzione dell'host Compute Engine pianificato in precedenza è stato spostato e l'ora di inizio della manutenzione è stata aggiornata
CustomerTriggeredMaintenance La manutenzione dell'host Compute Engine è stata attivata manualmente tramite GKE
MaintenanceWindowStarted È iniziata la manutenzione dell'host Compute Engine
TerminateOnHostMaintenance Emesso quando Compute Engine invia il segnale di terminazione (TERMINATE_ON_HOST_MAINTENANCE). Se è abilitata la terminazione controllata, GKE isola il nodo e pianifica l'espulsione del pod (SIGTERM). I carichi di lavoro ricevono un avviso con un limite massimo 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 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 della finestra 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 la finestra di Compute Engine può essere riprogrammata.
  • Metadati di Kubernetes:includono 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 nodil e nodi.

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

Passaggi successivi