Verificar la configuración de VM Manager

Utilice este documento para verificar que VM Manager esté configurado correctamente. Para obtener información sobre cómo configurar VM Manager, consulta el artículo Configurar VM Manager.

Para verificar la configuración, puedes usar el comando troubleshoot o realizar comprobaciones manuales en la instancia de máquina virtual.

Antes de empezar

  • En el caso de las VMs de Windows, usa PowerShell 3.0 o una versión posterior.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

Usar el comando troubleshoot

Usa el comando os-config troubleshoot para verificar la configuración. Si no superas alguna de las comprobaciones, recibirás comentarios sobre cómo solucionar el problema.

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

Haz los cambios siguientes:

  • VM_NAME: el nombre de la instancia de VM que quieres solucionar
  • ZONE: la zona en la que se encuentra la instancia

Ejemplos

  • Ejemplo 1: muestra el resultado del comando os-config troubleshoot cuando la instancia de VM tiene problemas con la configuración
  • Ejemplo 2: muestra el resultado del comando os-config troubleshoot cuando la instancia de VM está configurada correctamente

Ejemplo 1

Para solucionar problemas de una instancia de VM llamada my-instance-1 en la zona asia-east2-b, ejecuta lo siguiente:

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

La salida es similar a la siguiente:

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.

Ejemplo 2

Para solucionar problemas de una instancia de VM llamada my-instance-2 en la zona us-west1-b, ejecuta lo siguiente:

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

La salida es similar a la siguiente:

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.

Verificación manual

Para verificar manualmente que VM Manager se ha configurado correctamente, realiza las siguientes comprobaciones:

Si VM Manager está configurado correctamente, pero sigues teniendo problemas, consulta Solucionar problemas de VM Manager.

Comprobar si la API OS Config está habilitada

En tu Google Cloud proyecto, comprueba si la API está habilitada.

Consola

En la consola de Google Cloud , ve a la página API OS Config.

Ir a la API OS Config

gcloud

gcloud services list --enabled

Si la API está habilitada, el resultado será similar al siguiente:

osconfig.googleapis.com              OS Config API

Si la API no está habilitada, habilita la API OS Config.

Comprobar si los metadatos están habilitados

Linux

Para los metadatos del proyecto, en la VM, siga estos pasos:

  1. Consulta el endpoint de atributos de proyecto:

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

    Si se define el valor de los metadatos del agente, el resultado será similar al siguiente:

    enable-osconfig
    
  2. Si se muestra el valor de enable-osconfig, consulta el endpoint:

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

    Si está habilitado, el endpoint devuelve TRUE.

Si los metadatos no están habilitados, habilita los metadatos de configuración del SO.

Windows

Para obtener los metadatos de un proyecto en una VM, abre un terminal de PowerShell como administrador y ejecuta el siguiente comando:

  1. Consulta el endpoint de atributos de proyecto:

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

    Si se define el valor de los metadatos del agente, el resultado será similar al siguiente:

    enable-osconfig
    
  2. Si se muestra el valor de enable-osconfig, consulta el endpoint:

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

    Si está habilitado, el endpoint devuelve TRUE.

Si los metadatos no están habilitados, habilita los metadatos de configuración del SO.

Comprobar si el agente de configuración del SO está instalado y en ejecución

Linux

Para comprobar si tu VM de Linux tiene instalado el agente, ejecuta el siguiente comando:

sudo systemctl status google-osconfig-agent

Si el agente está instalado y en ejecución, el resultado será similar al siguiente:

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

Si el agente no está instalado, instala el agente de configuración del SO.

Windows

Para comprobar si tu VM Windows tiene instalado el agente, ejecuta el siguiente comando:

PowerShell Get-Service google_osconfig_agent

Si el agente está instalado y en ejecución, el resultado será similar al siguiente:

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

Si el agente no está instalado, instala el agente de configuración del SO.

Comprobar si la cuenta de servicio está habilitada

Para obtener información sobre los requisitos de las cuentas de servicio, consulta el artículo Resumen de la configuración.

Linux

En la máquina virtual, ejecuta lo siguiente:

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

El resultado debe incluir al menos la cuenta de servicio predeterminada.

default/

Windows

En la máquina virtual, abre un terminal de PowerShell como administrador y ejecuta el siguiente comando:

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

El resultado debe incluir al menos la cuenta de servicio predeterminada.

default/

Comprobar si la VM puede comunicarse con la API OS Config

Para comprobar si la VM puede comunicarse con la API OS Config, ejecuta el siguiente comando en tu VM Linux o Windows:

ping osconfig.googleapis.com

Para dejar de enviar pings a la API OS Config, pulsa Control + C.

Si tu VM se ejecuta en una red VPC privada y no tiene acceso a Internet público, comprueba que hayas habilitado Acceso privado de Google.

Después de habilitar Acceso privado de Google, comprueba que la VM pueda comunicarse con la API OS Config.

Linux

En la máquina virtual, ejecuta lo siguiente:

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

Si la VM puede comunicarse con la API OS Config, el resultado del comando será similar al siguiente:

% 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

En la VM, abre un terminal de PowerShell como administrador y ejecuta lo siguiente:

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

Siguientes pasos