Risoluzione dei problemi di VM Manager

Questo documento descrive come risolvere i problemi relativi a VM Manager.

Per saperne di più su VM Manager, consulta VM Manager.

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.

Panoramica

Per risolvere i problemi, verifica innanzitutto che VM Manager sia configurato correttamente. Se la configurazione è corretta, ma i problemi persistono, puoi esaminare i log. Quando esamini i log, puoi identificare i problemi relativi VM o nel tuo flusso di lavoro VM Manager, ad esempio errori nei comandi che puoi isolare e risolvere.

Dai log puoi raccogliere le seguenti informazioni:

  • Qualsiasi messaggio di errore o avviso registrato dalla VM. È l'ideale per identificando errori a livello di VM o errori di altri servizi in esecuzione sulla VM. Per esaminare questi log, vedi Ispezionare Cloud Logging.
  • Informazioni di debug dettagliate registrate dall'agente OS Config. Questo è utile per identificando i problemi con le operazioni eseguite da VM Manager. Per esaminare i log di debug per l'agente OS Config, vedi Esaminare i log di debug.

Dopo aver identificato i problemi o gli errori, puoi anche esaminare le errori comuni per vedere potenziali correzioni.

Ispeziona Cloud Logging

Puoi utilizzare i link rapidi della console Google Cloud per ogni funzionalità per visualizzare i log di una VM specifica.

Patch del sistema operativo

  1. Nella console Google Cloud, vai alla scheda Job patch nella OS Patch Management.

    Vai ai job di applicazione patch

  2. Fai clic sul nome del job di applicazione patch di cui vuoi eseguire il debug.
  3. Scorri verso il basso fino a Istanze VM aggiornate.
  4. Per una VM specifica, in Log, fai clic su Visualizza.

Configurazione del sistema operativo

Questa procedura è supportata per OS Configuration Management (anteprima). Per OS Configuration Management (beta), utilizza l'opzione dei log di debug, nella sezione seguente.

  1. Nella console Google Cloud, vai alla scheda Istanze VM nella OS Configuration Management.

    Vai a Istanze VM

  2. Fai clic sul nome della VM di cui vuoi eseguire il debug.
  3. Scorri verso il basso fino a Norme.
  4. In Log, fai clic su Visualizza.

Ispeziona i log di debug

Puoi identificare i problemi con qualsiasi funzionalità di VM Manager abilitando il debug dell'agente OS Config e la visualizzazione del log di debug.

Abilita il logging di debug per l'agente OS Config

Puoi attivare il logging di debug impostando i metadati osconfig-log-level=debug sull'istanza VM o sul progetto.

Per abilitare il logging di debug sulla VM, completa i seguenti passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM per la quale vuoi impostare i metadati valore.

  3. Nella pagina Dettagli istanza, fai clic su Modifica per modificare. le impostazioni.

  4. In Metadati personalizzati, aggiungi le seguenti voci di metadati:

    Chiave: osconfig-log-level
    Valore: debug

  5. Fai clic su Salva per applicare le modifiche alla VM.

gcloud

Utilizza la Comando instances add-metadata con il flag --metadata=osconfig-log-level=debug.

gcloud compute instances add-metadata VM_NAME \
    --metadata=osconfig-log-level=debug

Sostituisci VM_NAME con il nome della tua VM.

REST

Per istruzioni sull'impostazione dei metadati dell'istanza, segui Istruzioni API per l'impostazione dei metadati dell'istanza.

Nei metadati è richiesta la seguente coppia chiave-valore proprietà:

Chiave: osconfig-log-level
Valore: debug

Visualizza i log di debug

Quando il logging di debug è abilitato, l'agente OS Config scrive le voci di log in Cloud Logging e la console della porta seriale.

Dopo aver abilitato il logging di debug sulla VM, sarà necessario l'agente OS Config dieci minuti circa per iniziare a scrivere messaggi di debug in Cloud Logging. Per ridurre il tempo di attesa, riavvia l'agente o la VM. Per saperne di più su Cloud Logging, consulta Visualizzazione dei log di Cloud Logging.

Per visualizzare i log di debug, puoi utilizzare le seguenti opzioni:

  • Cloud Logging: usa la console Google Cloud Google Cloud CLI
  • Console della porta seriale

Console

  1. Vai alla scheda Logging > Esplora log (Esplora log) nella Console Google Cloud:

    Vai a Esplora log

  2. Se necessario, seleziona un progetto Google Cloud esistente nella parte superiore della pagina o creare un nuovo progetto.

  3. Nell'elenco a discesa Risorsa, seleziona Istanza VM. Un elenco delle VM disponibili (instance_id).

  4. Fai clic sulla VM che vuoi visualizzare.

  5. Fai clic su Aggiungi.

  6. Nell'elenco a discesa Nome log, seleziona OSConfigAgent.

  7. Fai clic su Aggiungi.

  8. La tua query dovrebbe essere simile alla seguente:

    resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID"
    logName="projects/PROJECT_ID/logs/OSConfigAgent"
    
  9. Fai clic su Esegui query.

gcloud

Esegui il comando gcloud logging read.

 gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
 

Sostituisci PROJECT_ID con l'ID progetto.

Porta seriale

Per visualizzare le informazioni del log di debug dalla console della porta seriale, consulta Visualizzazione dell'output della porta seriale.

Errori comuni

Problemi di autenticazione

Affinché VM Manager funzioni, devi avere quanto segue:

  • Un account di servizio collegato. VM Manager utilizza questo account di servizio per richieste al servizio API.
  • Assicurati che l'account di servizio collegato abbia roles/logging.logWriter per scrivere i log nell'API Logging.
  • Agente di servizio Google Cloud OS Config. VM Manager crea questo agente di servizio all'avvio dei job di applicazione patch e gli assegna il ruolo Agente di servizio Cloud OS Config. Per creare criteri del sistema operativo, non devi configurare questo agente di servizio.

Se utilizzi VM Manager e non hai un account di servizio collegato, o un agente di servizio Google Cloud OS Config, potresti visualizzare i seguenti errori durante l'esecuzione di job di applicazione patch:

Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"

I problemi di autenticazione potrebbero anche impedire la visualizzazione delle istanze VM Dashboard delle patch.

Per risolvere questi problemi, prova una o tutte le seguenti soluzioni:

  • Verifica che tutte le VM abbiano un account di servizio collegato.
  • Assicurati che il ruolo Agente di servizio per la configurazione di Cloud OS (roles/osconfig.serviceAgent) è impostata sull'agente di servizio Google Cloud OS Config.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \
      --role='roles/osconfig.serviceAgent'
    

    Sostituisci quanto segue:

Errore durante l'esclusione dei pacchetti per gli aggiornamenti delle patch

Se si specificano caratteri jolly o caratteri speciali per il nome dei pacchetti quando escludendo i pacchetti in un job di applicazione patch, OS Patch Management potrebbe ignorare l'elenco e aggiorna tutti i pacchetti.

Per risolvere il problema, aggiorna l'agente OS Config. alla versione 20220829.00 e utilizza le barre (/) per aggregare il nome del pacchetto.

Nell'esempio seguente, OS Patch Management esclude yum pacchetti con prefisso google- nel nome del pacchetto.

      gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/

Passaggi successivi