Validar a configuração do VM Manager

Use este documento para verificar se o VM Manager está configurado corretamente. Para ver informações sobre como configurar o VM Manager, consulte o artigo Configure o VM Manager.

Para validar a configuração, pode usar o comando troubleshoot ou fazer verificações manuais na instância da máquina virtual (VM).

Antes de começar

  • Para VMs do Windows, use o PowerShell 3.0 ou posterior.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

Use o comando de resolução de problemas

Use o comando os-config troubleshoot para validar a configuração. Se alguma das verificações falhar, recebe feedback sobre como corrigir o problema.

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

Substitua o seguinte:

  • VM_NAME: o nome da instância de VM para a qual quer resolver problemas
  • ZONE: a zona onde a instância está localizada

Exemplos

  • Exemplo 1: mostra o resultado do comando os-config troubleshoot quando a instância de VM tem problemas com a configuração
  • Exemplo 2: mostra o resultado do comando os-config troubleshoot quando a instância de VM está configurada corretamente

Exemplo 1

Para resolver problemas de uma instância de VM denominada my-instance-1 na zona asia-east2-b, execute o seguinte:

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

O resultado é semelhante ao seguinte:

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.

Exemplo 2

Para resolver problemas de uma instância de VM denominada my-instance-2 na zona us-west1-b, execute o seguinte:

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

O resultado é semelhante ao seguinte:

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.

Validação manual

Para verificar manualmente se o Gestor de VMs está configurado corretamente, conclua as seguintes verificações:

Se o VM Manager estiver configurado corretamente, mas continuar a ter problemas, consulte o artigo Resolução de problemas do VM Manager.

Verifique se a API OS Config está ativada

No seu Google Cloud projeto, verifique se a API está ativada.

Consola

Na Google Cloud consola, aceda à página API OS Config.

Aceda à API OS Config

gcloud

gcloud services list --enabled

Se a API estiver ativada, o resultado é semelhante ao seguinte:

osconfig.googleapis.com              OS Config API

Se a API não estiver ativada, ative a API OS Config.

Verifique se os metadados estão ativados

Linux

Para os metadados do projeto, na VM, conclua os seguintes passos:

  1. Consulte o ponto final dos atributos do projeto:

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

    Se o valor dos metadados do agente estiver definido, a saída é semelhante à seguinte:

    enable-osconfig
    
  2. Se o valor enable-osconfig for apresentado, consulte o ponto final:

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

    Se estiver ativado, o ponto final devolve TRUE.

Se os metadados não estiverem ativados, ative os metadados de configuração do SO.

Windows

Para os metadados do projeto, numa VM, abra um terminal do PowerShell como administrador e execute o seguinte comando:

  1. Consulte o ponto final dos atributos do projeto:

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

    Se o valor dos metadados do agente estiver definido, a saída é semelhante à seguinte:

    enable-osconfig
    
  2. Se o valor enable-osconfig for apresentado, consulte o ponto final:

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

    Se estiver ativado, o ponto final devolve TRUE.

Se os metadados não estiverem ativados, ative os metadados de configuração do SO.

Verifique se o agente de configuração do SO está instalado e em execução

Linux

Para verificar se a sua VM do Linux tem o agente instalado, execute o seguinte comando:

sudo systemctl status google-osconfig-agent

Se o agente estiver instalado e em execução, o resultado é semelhante ao seguinte:

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 o agente não estiver instalado, instale o agente OS Config.

Windows

Para verificar se a VM do Windows tem o agente instalado, execute o seguinte comando:

PowerShell Get-Service google_osconfig_agent

Se o agente estiver instalado e em execução, o resultado é semelhante ao seguinte:

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

Se o agente não estiver instalado, instale o agente OS Config.

Verifique se a conta de serviço está ativada

Para ver informações sobre os requisitos da conta de serviço, consulte a Vista geral da configuração.

Linux

Na VM, execute o seguinte:

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

A saída deve incluir, pelo menos, a conta de serviço predefinida.

default/

Windows

Na VM, abra um terminal do PowerShell como administrador e execute o seguinte comando:

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

A saída deve incluir, pelo menos, a conta de serviço predefinida.

default/

Verifique se a VM consegue comunicar com a API OS Config

Para verificar se a VM consegue comunicar com a API OS Config, execute o seguinte comando na sua VM do Linux ou Windows:

ping osconfig.googleapis.com

Para parar de enviar pings para a API OS Config, prima Control + C.

Se a sua VM estiver a ser executada numa rede VPC privada e não tiver acesso público à Internet, verifique se ativou o Acesso privado do Google.

Depois de ativar o Acesso privado do Google, verifique se a VM consegue comunicar com a API OS Config.

Linux

Na VM, execute o seguinte:

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

Se a VM conseguir comunicar com a API OS Config, o resultado do comando é semelhante ao seguinte:

% 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

Na VM, abra um terminal do PowerShell como administrador e execute o seguinte comando:

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

O que se segue?