Solução de problemas do Gerenciador de VM

Este documento descreve como solucionar problemas com o VM Manager.

Para obter mais informações sobre o Gerenciador de VM, consulte Gerenciador de VM .

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. 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

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Visão geral

Para solucionar problemas, primeiro verifique se o VM Manager está configurado corretamente . Se a configuração estiver correta e você ainda tiver problemas, poderá revisar os registros. Ao revisar os logs, você pode identificar problemas com sua VM ou no fluxo de trabalho do VM Manager, como erros em comandos ou scripts, que podem ser isolados e resolvidos.

Você pode coletar as seguintes informações dos registros:

  • Qualquer mensagem de erro ou aviso registrado pela VM. Isso é ideal para identificar erros no nível da VM ou erros de outros serviços em execução na sua VM. Para revisar esses registros, consulte Inspecionar o Cloud Logging .
  • Informações detalhadas de depuração registradas pelo agente de configuração do sistema operacional. Isso é útil para identificar problemas com qualquer uma das operações executadas pelo VM Manager. Para inspecionar logs de depuração do agente de configuração do sistema operacional, consulte Inspecionar logs de depuração .

Depois de identificar os problemas ou erros, você também pode revisar a seção de erros comuns para ver possíveis soluções.

Inspecione o Cloud Logging

Você pode usar os links rápidos do console do Google Cloud para cada recurso para visualizar registros.

Patch do sistema operacional

  1. No console do Google Cloud, acesse a guia Execução de jobs na página Patch .

    Vá para execução de trabalhos

  2. Clique no nome do trabalho de patch que você deseja depurar.
  3. Vá para a seção Instâncias de VM atualizadas .
  4. Para uma VM específica, em Logs , clique em Visualizar .

Políticas do sistema operacional

Este procedimento é compatível com políticas de sistema operacional. Para políticas de convidados (beta), use a opção de logs de depuração, na seção a seguir.

  1. No console do Google Cloud, acesse a guia Instâncias de VM na página de políticas do SO .

    Acesse as instâncias de VM

  2. Clique no nome da VM que você deseja depurar.
  3. Vá para a seção Políticas .
  4. Em Logs , clique em Exibir .

Orquestradores de políticas de sistema operacional

  1. No console do Google Cloud, acesse a guia orquestradores de políticas do SO na página de políticas do SO .

    Acesse orquestradores de políticas do sistema operacional

  2. Clique no nome do orquestrador de políticas do SO que você deseja depurar.
  3. Vá para a seção Logs e verifique a entrada do log.

Inspecionar logs de depuração

Você pode identificar problemas com qualquer recurso do VM Manager habilitando a depuração para o agente de configuração do sistema operacional e visualizando o log de depuração.

Habilitar o log de depuração para o agente de configuração do sistema operacional

Você pode ativar o registro de depuração definindo os metadados osconfig-log-level=debug na instância de VM ou no projeto.

Para ativar o log de depuração em sua VM, conclua as etapas a seguir:

Console

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Clique no nome da VM para a qual você deseja definir o valor de metadados.

  3. Na página Detalhes da instância , clique em Editar para editar as configurações.

  4. Em Metadados personalizados , adicione as seguintes entradas de metadados:

    Chave: osconfig-log-level
    Valor: debug

  5. Clique em Salvar para aplicar suas alterações à VM.

gcloud

Use o comando instances add-metadata com o --metadata=osconfig-log-level=debug .

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

Substitua VM_NAME pelo nome da sua VM.

DESCANSAR

Para obter instruções sobre como configurar metadados de instância, siga as instruções da API para configurar metadados de instância .

O seguinte par de valores-chave é obrigatório como parte da propriedade de metadados:

Chave: osconfig-log-level
Valor: debug

Ver registros de depuração

Quando o registro de depuração está ativado, o agente de configuração do SO grava entradas de registro no Cloud Logging e no console da porta serial.

Depois de ativar o registro de depuração na VM, o agente de configuração do SO leva aproximadamente dez minutos para começar a gravar mensagens de depuração no Cloud Logging. Você pode reduzir esse tempo de espera reiniciando o agente ou reiniciando sua VM. Para obter mais informações sobre o Cloud Logging, consulte Visualização de registros do Cloud Logging .

Para visualizar logs de depuração, você pode usar as seguintes opções:

  • Cloud Logging: use o console do Google Cloud ou a Google Cloud CLI
  • Console de porta serial

Console

  1. Acesse a página Logging > Logs Explorer (Logs Explorer) no console do Google Cloud:

    Acesse o Explorador de registros

  2. Se necessário, selecione um existente Google Cloud projeto na parte superior da página ou crie um novo projeto.

  3. Na lista suspensa Recurso , selecione Instância de VM . Uma lista de VMs disponíveis ( instance_id ) é exibida.

  4. Clique na VM que você deseja visualizar.

  5. Clique em Adicionar .

  6. Na lista suspensa Nome do log , selecione OSConfigAgent .

  7. Clique em Adicionar .

  8. Sua consulta deve ser semelhante à seguinte:

    resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID"
    logName="projects/PROJECT_ID/logs/OSConfigAgent"
    
  9. Clique em Executar consulta .

gcloud

Execute o comando gcloud logging read .

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

Substitua PROJECT_ID pelo ID do seu projeto.

Porta serial

Para visualizar informações do log de depuração do console da porta serial, consulte Visualizando a saída da porta serial .

Erros comuns

Problemas de autenticação

Para que o VM Manager funcione, você deve ter o seguinte:

  • Uma conta de serviço anexada. O VM Manager usa essa conta de serviço para assinar solicitações ao serviço de API.
  • Certifique-se de que a conta de serviço anexada tenha a função roles/logging.logWriter para gravar logs na API Logging.
  • Agente de serviço de configuração do SO do Google Cloud . O VM Manager cria esse agente de serviço ao iniciar trabalhos de patch e atribui a ele a função Cloud OS Config Service Agent. Para criar políticas de SO, não é necessário configurar esse agente de serviço.

Se você usa o VM Manager e não tem uma conta de serviço anexada ou um agente de serviço de configuração do Google Cloud OS, poderá ver os seguintes erros ao trabalhar com jobs de 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: []"

Problemas de autenticação também podem impedir que instâncias de VM apareçam no painel Patch .

Para resolver esses problemas, tente um ou todos os seguintes procedimentos:

  • Verifique se todas as VMs têm uma conta de serviço anexada .
  • Certifique-se de que a função do agente de serviço de configuração do Cloud OS ( roles/osconfig.serviceAgent ) esteja definida no agente de serviço de configuração do Google Cloud OS.

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

    Substitua o seguinte:

Erro ao excluir pacotes para atualizações de patch

Se você especificar curingas ou caracteres especiais para o nome dos pacotes ao excluir pacotes em um trabalho de patch, o gerenciamento de patches do SO poderá ignorar a lista e atualizar todos os pacotes.

Para resolver esse problema, atualize o agente de configuração do sistema operacional para a versão 20220829.00 e use barras ( / ) para quebrar o nome do pacote.

No exemplo a seguir, o gerenciamento de patches do sistema operacional exclui pacotes yum com prefixo google- no nome do pacote.

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

O que vem a seguir?