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, soprattutto 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 Scopri come eseguire la manutenzione dell'host su GKE.

Monitora 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 sia di GKE sia di Compute Engine.

Visualizza la manutenzione imminente su Compute Engine

Compute Engine invia notifiche quando è pianificata l'esecuzione di eventi host interrompenti sui nodi e sulle VM sottostanti e quando questi eventi diventano attivi. Le notifiche includono informazioni sull'ora di inizio pianificata, sul tipo di evento e altri dettagli.

Visualizza la manutenzione prevista su GKE

Puoi monitorare gli eventi di manutenzione imminenti su GKE per tipi di macchine specifici. La tabella seguente elenca i tipi di macchine supportati e la versione minima di GKE richiesta per ciascuno:

Tipo di macchina Versione minima di GKE
Tipi di macchine con GPU o TPU collegate 1.31.1-gke.2008000 o versioni successive
Tipi di macchine H4D 1.32.6-gke.1060000 o versioni successive
c4a-highmem-96-metal 1.35.0-gke.2232000 o versioni successive
Tipi di macchine Z3 con più di 18 TiB di Titanium SSD 1.32.4-gke.1376000 o versioni successive
Tipi di macchine Z4D con più di 42 TiB di Titanium SSD collegati 1.36.3-gke.1244000 o versioni successive
Tipi di macchine Z4M con più di 48 TiB di Titanium SSD collegata o qualsiasi istanza Z4M che utilizza Cloud RDMA 1.36.3-gke.1767000 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 il comando seguente:

    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 verificando la presenza di una notifica di un 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.

Visualizza gli eventi Kubernetes per la manutenzione dell'host

In GKE 1.35 e versioni successive, vengono emessi eventi Kubernetes che monitorano il ciclo di vita della manutenzione dell'host. Questi eventi Kubernetes forniscono 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 all'interno dell'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 gli 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 di Compute Engine:

Motivo Descrizione
MaintenanceWindowScheduled È stato pianificato un periodo di manutenzione dell'host 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 precedentemente pianificato è 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 La manutenzione dell'host Compute Engine è iniziata
TerminateOnHostMaintenance Emesso quando Compute Engine invia il segnale di terminazione (TERMINATE_ON_HOST_MAINTENANCE). Se la terminazione controllata è abilitata, GKE isola il nodo e pianifica l'espulsione dei pod (SIGTERM). I workload ricevono un preavviso massimo compreso tra 5 e 60 minuti, a seconda del livello della macchina.
PodEvictionComplete Tutti i pod sono stati espulsi 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 i 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 ripianificata.
  • Metadati di 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 delle 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 storiche dei tempi di inattività.

Passaggi successivi