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 ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi 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 e i problemi persistono, puoi esaminare i log. Quando esamini i log, puoi identificare problemi con la tua VM o nel flusso di lavoro di VM Manager, ad esempio errori nei comandi o negli script, che puoi isolare e risolvere.

Puoi raccogliere le seguenti informazioni dai log:

  • Qualsiasi messaggio di errore o avviso registrato dalla VM. Questa opzione è ideale per identificare gli errori a livello di VM o gli errori di altri servizi in esecuzione sulla VM. Per esaminare questi log, consulta Ispezione di Cloud Logging.
  • Informazioni di debug dettagliate registrate dall'agente OS Config. Ciò è utile per identificare i problemi relativi a una delle operazioni eseguite da VM Manager. Per esaminare i log di debug dell'agente OS Config, consulta Esaminare i log di debug.

Dopo aver identificato i problemi o gli errori, puoi anche consultare la sezione Errori comuni per vedere le potenziali correzioni.

Ispezionare Cloud Logging

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

Patch del sistema operativo

  1. Nella console Google Cloud , vai alla scheda Esecuzioni dei job nella pagina Patch.

    Vai a Esecuzione job

  2. Fai clic sul nome del job di applicazione patch di cui vuoi eseguire il debug.
  3. Vai alla sezione Istanze VM aggiornate.
  4. Per una VM specifica, fai clic su Visualizza in Log.

Policy del sistema operativo

Questa procedura è supportata per i criteri del sistema operativo. Per i criteri per gli ospiti (beta), utilizza l'opzione dei log di debug, nella sezione seguente.

  1. Nella console Google Cloud , vai alla scheda Istanze VM nella pagina Policy del sistema operativo.

    Vai a Istanze VM

  2. Fai clic sul nome della VM di cui vuoi eseguire il debug.
  3. Vai alla sezione Norme.
  4. Nella sezione Log, fai clic su Visualizza.

Orchestratori delle policy del sistema operativo

  1. Nella console Google Cloud , vai alla scheda Orchestratori delle policy del sistema operativo nella pagina Policy del sistema operativo.

    Vai agli orchestratori delle policy del sistema operativo

  2. Fai clic sul nome dell'agente di orchestrazione delle policy del sistema operativo che vuoi eseguire il debug.
  3. Vai alla sezione Log e verifica la voce di log.

Esaminare i log di debug

Puoi identificare i problemi relativi a qualsiasi funzionalità di VM Manager attivando il debug per l'agente OS Config e visualizzando il log di debug.

Attiva il logging di debug per l'agente OS Config

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

Per abilitare la registrazione di debug sulla tua 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 cui vuoi impostare il valore dei metadati.

  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 il 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 le istruzioni dell'API per impostare i metadati dell'istanza.

La seguente coppia chiave/valore è obbligatoria come parte della proprietà dei metadati:

Chiave: osconfig-log-level
Valore: debug

Visualizzare i log di debug

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

Dopo aver abilitato la registrazione di debug sulla VM, l'agente OS Config impiega circa dieci minuti per iniziare a scrivere messaggi di debug in Cloud Logging. Puoi ridurre questo tempo di attesa riavviando l'agente o riavviando la VM. Per ulteriori informazioni su Cloud Logging, consulta Visualizzazione dei log di Cloud Logging.

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

  • Cloud Logging: utilizza la console Google Cloud o Google Cloud CLI
  • Console porta seriale

Console

  1. Vai alla pagina Logging > Esplora log (Esplora log) nella consoleGoogle Cloud :

    Vai a Esplora log

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

  3. Nell'elenco a discesa Risorsa, seleziona Istanza VM. Viene visualizzato un elenco di 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 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 disporre di quanto segue:

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

Se utilizzi VM Manager e non hai un account di servizio collegato o un agente del servizio di configurazione del sistema operativo Google Cloud, potresti visualizzare i seguenti errori quando lavori con i job di 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 nella dashboard delle patch.

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

  • Verifica che tutte le VM abbiano un service account collegato.
  • Assicurati che il ruolo Agente di servizio Cloud OS Config (roles/osconfig.serviceAgent) sia impostato sull'agente di servizio Cloud OS Config di Google Cloud.

    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 specifichi caratteri jolly o speciali per il nome dei pacchetti quando escludi i pacchetti in un job di applicazione patch, OS Patch Management potrebbe ignorare l'elenco e aggiornare tutti i pacchetti.

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

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

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

Passaggi successivi