Verifica della configurazione di VM Manager


Utilizza questo documento per verificare che VM Manager sia configurato correttamente. Per informazioni sulla configurazione di VM Manager, consulta Configurazione di VM Manager.

Per verificare la configurazione, puoi utilizzare il comando per la risoluzione dei problemi o eseguire controlli manuali sull'istanza della macchina virtuale (VM).

Prima di iniziare

  • Per le VM Windows, utilizza PowerShell 3.0 o versioni successive.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

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

      gcloud init
    2. Set a default region and zone.

Utilizzare il comando di risoluzione dei problemi

Utilizza il comando os-config troubleshoot per verificare la configurazione. Se uno o più dei controlli non hanno esito positivo, riceverai un feedback su come risolvere il problema.

gcloud compute os-config troubleshoot VM_NAME \
   --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome dell'istanza VM di cui vuoi risolvere i problemi
  • ZONE: la zona in cui si trova l'istanza

Esempi

  • Esempio 1: mostra l'output del comando os-config troubleshoot quando l'istanza VM presenta problemi di configurazione
  • Esempio 2: mostra l'output del comando os-config troubleshoot quando l'istanza VM è configurata correttamente

Esempio 1

Per risolvere i problemi relativi a un'istanza VM denominata my-instance-1 nella zona asia-east2-b, esegui questo comando:

gcloud compute os-config troubleshoot my-instance-1 \
    --zone=asia-east2-b

L'output è simile al seguente:

OS Config troubleshooter tool is checking if there are issues with the
VM Manager setup for this VM instance.

> Is the OS Config API enabled? Yes
> Is the OS Config agent enabled? Yes
> Is the OS Config agent up to date? No

The version of OS Config agent running on this VM instance is not the
latest version.
See https://cloud.google.com/compute/docs/manage-os/upgrade-vm-manager#update-agent
on how to update the agent.

Esempio 2

Per risolvere i problemi relativi a un'istanza VM denominata my-instance-2 nella zona us-west1-b, esegui questo comando:

gcloud compute os-config troubleshoot my-instance-2 \
    --zone=us-west1-b

L'output è simile al seguente:

OS Config troubleshooter tool is checking if there are issues with the
VM Manager setup for this VM instance.

> Is the OS Config API enabled? Yes
> Is the OS Config agent enabled? Yes
> Is the OS Config agent up to date? Yes
> Is a service account present on the instance? Yes
> Is the OS Config Service account present for this instance? Yes
> Does this instance have a public IP or Private Google Access? Yes
This instance has a public IP.

Verifica manuale

Per verificare manualmente che VM Manager sia configurato correttamente, completa i seguenti controlli:

Se VM Manager è configurato correttamente, ma i problemi persistono, consulta la sezione Risoluzione dei problemi di VM Manager.

Controlla se l'API OS Config è abilitata

Nel tuo progetto Google Cloud, controlla se l'API è abilitata.

Console

Nella console Google Cloud, vai alla pagina dell'API OS Config.

Vai all'API OS Config

gcloud

gcloud services list --enabled

Se l'API è abilitata, l'output sarà simile al seguente:

osconfig.googleapis.com              OS Config API

Se l'API non è abilitata, abilita l'API OS Config.

Controllare se i metadati sono attivati

Linux

Per i metadati del progetto, sulla VM completa i seguenti passaggi:

  1. Esegui una query sull'endpoint degli attributi del progetto:

    curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/" \
    -H "Metadata-Flavor: Google"
    

    Se il valore dei metadati dell'agente è impostato, l'output è simile al seguente:

    enable-osconfig
    
  2. Se viene visualizzato il valore enable-osconfig, esegui una query sull'endpoint:

    curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig" \
    -H "Metadata-Flavor: Google"

    Se attivato, l'endpoint restituisce TRUE.

Se i metadati non sono abilitati, attiva i metadati di configurazione del sistema operativo.

Windows

Per i metadati del progetto, su una VM, apri un terminale PowerShell come amministratore ed esegui questo comando:

  1. Esegui una query sull'endpoint degli attributi del progetto:

    $value = (Invoke-RestMethod `
             -Headers @{'Metadata-Flavor' = 'Google'} `
             -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/")
    $value
    

    Se il valore dei metadati dell'agente è impostato, l'output è simile al seguente:

    enable-osconfig
    
  2. Se viene visualizzato il valore enable-osconfig, esegui una query sull'endpoint:

    $value = (Invoke-RestMethod `
             -Headers @{'Metadata-Flavor' = 'Google'} `
             -Uri "http://metadata.google.internal/computeMetadata/v1/project/attributes/enable-osconfig")
    $value
    

    Se attivato, l'endpoint restituisce TRUE.

Se i metadati non sono abilitati, attiva i metadati di configurazione del sistema operativo.

Verifica se l'agente OS Config è installato e in esecuzione

Linux

Per verificare se l'agente è installato sulla VM Linux, esegui questo comando:

sudo systemctl status google-osconfig-agent

Se l'agente è installato e in esecuzione, l'output sarà simile al seguente:

google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
 Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
        └─369 /usr/bin/google_osconfig_agent

Se l'agente non è installato, installa l'agente OS Config.

Windows

Per verificare se l'agente è installato sulla VM Windows, esegui questo comando:

PowerShell Get-Service google_osconfig_agent

Se l'agente è installato e in esecuzione, l'output sarà simile al seguente:

Status   Name               DisplayName
------   ----               -----------
Running  google_osconfig... Google OSConfig Agent

Se l'agente non è installato, installa l'agente OS Config.

Controllare se l'account di servizio è abilitato

Per informazioni sui requisiti dell'account di servizio, consulta la Panoramica della configurazione.

Linux

Sulla VM, esegui questo comando:

curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/" \
-H "Metadata-Flavor: Google"

L'output deve includere almeno l'account di servizio predefinito.

default/

Windows

Sulla VM, apri un terminale PowerShell come amministratore ed esegui questo comando:

$value = (Invoke-RestMethod `
         -Headers @{'Metadata-Flavor' = 'Google'} `
         -Uri "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/")
$value

L'output deve includere almeno l'account di servizio predefinito.

default/

Verifica se la VM può comunicare con l'API OS Config

Per verificare se la VM può comunicare con l'API OS Config, esegui questo comando sulla VM Linux o Windows:

ping osconfig.googleapis.com

Per interrompere il ping dell'API OS Config, premi Ctrl + C.

Se la tua VM è in esecuzione all'interno di una rete VPC privata e non ha accesso a internet pubblico, verifica di aver abilitato l'accesso privato Google.

Dopo aver abilitato l'accesso privato Google, verifica che la VM possa comunicare con l'API OS Config.

Linux

Sulla VM, esegui questo comando:

 curl --ssl 'https://osconfig.googleapis.com/$discovery/rest' | head

Se la VM può comunicare con l'API OS Config, l'output comando è simile al seguente:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0{
"discoveryVersion": "v1",
"baseUrl": "https://osconfig.googleapis.com/",
"ownerName": "Google",
"version": "v1beta",
"schemas": {
  "GooSettings": {
    "description": "Googet patching is performed by running `googet update`.",
    "properties": {},
    "id": "GooSettings",
100  9569    0  9569    0     0   198k      0 --:--:-- --:--:-- --:--:--  198k

Windows

Sulla VM, apri un terminale PowerShell come amministratore ed esegui questo comando:

 Invoke-RestMethod  -Headers @{'Metadata-Flavor' = 'Google'}
 -Uri 'https://osconfig.googleapis.com/$discovery/rest'

Che cosa succede dopo?