Monitora e pianifica un evento di manutenzione dell'host

La manutenzione di tutte le istanze di macchine virtuali (VM) è determinata dal criterio di manutenzione dell'host selezionato durante la creazione delle VM. Alcune VM offrono l'opzione aggiuntiva la pianificazione della manutenzione della VM in anticipo.

In questa pagina viene spiegato come monitorare e pianificare una evento di manutenzione dell'host sulle VM di Compute Engine. Per visualizzare la pianificazione della manutenzione di una VM, quest'ultima deve eseguire un tipo di macchina da una delle seguenti famiglie di macchine:

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare le VM e gestire la manutenzione delle VM, chiedi all'amministratore di concederti Ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare VM e gestire la manutenzione delle VM. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare VM e gestire la manutenzione delle VM sono necessarie le seguenti autorizzazioni:

  • Per ottenere informazioni su una VM: compute.instances.get
  • Per creare una VM: compute.instances.create

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.

Monitora le notifiche di manutenzione

Google invia notifiche per la manutenzione imminente delle VM tramite diversi metodi. Per trovare le notifiche, puoi eseguire query sulle VM, sul server dei metadati in Cloud Logging. Quando si apre il periodo di manutenzione pianificata, Google Cloud la manutenzione della VM viene eseguita automaticamente. Monitorando le attività pianificate della VM di manutenzione, puoi preparare in modo proattivo i carichi di lavoro per manutenzione imminente con interruzioni minime.

Le VM con notifiche di eventi di manutenzione hanno le seguenti caratteristiche:

  • Meno eventi di manutenzione: in generale, VM con intervalli di manutenzione ricorrenti dovresti vedere meno eventi di manutenzione.
  • Notifica di manutenzione più lunga: ricevi notifiche per gli eventi di manutenzione pianificati con largo anticipo ai fini della pianificazione.
  • Monitoraggio e pianificazione: usa Cloud Logging per monitorare la manutenzione programmazione. Utilizza incidenti e avvisi per rimanere al corrente.
  • Controllo manutenzione on demand: avvia la manutenzione durante la notifica per aggiornare le VM in base alla tua pianificazione.

Controlla se nelle VM è presente una notifica relativa all'evento di manutenzione

Utilizza Google Cloud CLI, il metodo REST o il server di metadati per verificare se c'è un evento di manutenzione della VM imminente.

gcloud

Per vedere il periodo di manutenzione imminente di una VM, utilizza gcloud compute instances describe . Devi includere i --zone=[ZONE_NAME].

gcloud compute instances describe VM_NAME \
  --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • ZONE: la zona in cui si trova la VM.

La risposta ha questo aspetto:

  upcomingMaintenance:{
    "canReschedule":True
    "latestWindowStartTime": "2023-12-01T19:00:01Z"
    "maintenanceStatus":"PENDING"
    "type":"SCHEDULED"
    "windowEndTime": "2023-12-01T22:00:00Z"
    "windowStartTime": "2023-12-01T19:00:00Z"
  }

In questa risposta, canReschedule è impostato su True e maintenanceStatus è impostato su PENDING. La manutenzione è pianificata per la data visualizzata e l'ora. Queste impostazioni indicano che puoi attivare manualmente questo evento in anticipo del tempo.

REST

Per vedere se è prevista una manutenzione imminente per una VM, esegui Comando instances.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto.
  • ZONE: la zona in cui si trova la VM.
  • VM_NAME: il nome della VM.

La risposta ha questo aspetto:

  upcomingMaintenance:{
    "canReschedule":True
    "latestWindowStartTime": "2023-12-01T19:00:01Z"
    "maintenanceStatus":"PENDING"
    "type":"SCHEDULED"
    "windowEndTime": "2023-12-01T22:00:00Z"
    "windowStartTime": "2023-12-01T19:00:00Z"
  }

In questa risposta, canReschedule è impostato su TRUE e maintenanceStatus è impostato su PENDING. La manutenzione è pianificata per la data visualizzata e l'ora.

server metadati

Dal sistema operativo guest, esegui una query sul server dei metadati per vedere di manutenzione.

$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"

Controlla se in Cloud Logging è presente una notifica dell'evento di manutenzione

Google invia una notifica a Cloud Logging prima della VM manutenzione. Cloud Logging genera un evento di sistema in Esplora log. La manutenzione pianificata della VM viene visualizzata in Cloud Logging come: compute.instances.upcomingMaintenance.

A seconda della configurazione della VM, Cloud Logging visualizza l'evento nella nel seguente modo:

  • Per le VM configurate per l'utilizzo della migrazione live per la manutenzione, viene visualizzato l'evento con il nome del metodo compute.instances.migrateOnHostMaintenance.
  • Per le VM configurate per l'utilizzo di Termina e Riavvio automatico per la manutenzione, viene visualizzato con il nome del metodo compute.instances.terminateOnHostMaintenance.

Se la VM è configurata per l'utilizzo della migrazione live, al termine della manutenzione viene visualizzata la pagina compute.instances.upcomingMaintenance completata, che indica che viene cancellata.

Potresti trarre vantaggio dalla configurazione di avvisi per ricevere notifiche di manutenzione. Per saperne di più, leggi Configurare avvisi basati su log e Creare e gestire i canali di notifica.

Definizioni degli stati di manutenzione

Le seguenti definizioni di stato spiegano le risposte alla manutenzione di una VM query. Forniscono informazioni relative alla manutenzione delle VM. Google Cloud CLI, REST e il server di metadati usano gli stessi risposte:

  • windowStartTime: l'inizio della finestra temporale in cui viene effettuata la manutenzione
  • windowEndTime: la fine dell'intervallo di tempo in cui viene eseguita la manutenzione
  • latestWindowStartTime: il primo momento in cui la finestra può essere spostata
  • maintenanceType: il tipo di manutenzione da eseguire
      .
    • NONE: non è pianificata alcuna manutenzione per questa VM
    • IN PROGRAMMA: per la manutenzione saranno previsti 7 giorni notifica
    • NON PROGRAMMATO: la manutenzione rappresenta aggiornamenti critici per i quali molto meno viene dato un avviso
  • canReschedule: indica se la manutenzione può essere attivata durante il periodo periodo di notifica per questa VM
      .
    • TRUE: la manutenzione attivata dal cliente può essere eseguita durante periodo di notifica
    • FALSE: la manutenzione attivata dal cliente non può essere eseguita su questa VM Questo si verifica spesso durante il periodo in cui la VM è in fase di manutenzione
  • maintenanceStatus: lo stato dell'operazione di manutenzione attuale
      .
    • ONGOING: è in corso l'operazione di manutenzione.
    • IN ATTESA: l'operazione di manutenzione è pianificata, ma non è ancora iniziata.

Comportamenti dello stato di manutenzione

Mentre gestisci la pianificazione della manutenzione, controlla lo stato di canReschedule= e maintenanceStatus= di queste combinazioni di risposte descrivono il comportamento previsto della funzionalità e verrà visualizzato uno dei seguenti stati combinazioni:

  • Se canReschedule=Yes e maintenanceStatus=Pending puoi attivare la manutenzione sulla VM.
  • Se canReschedule=No e maintenanceStatus=Ongoing la manutenzione è già in corso.
  • Se canReschedule=No e maintenanceStatus=Pending la VM non supporta la manutenzione attivata manualmente.

Passaggi successivi