Gerenciar o Agente de Operações usando as políticas do Gerenciador de Extensões de VM

É possível mudar a forma como uma política gerencia o Agente de Operações atualizando a política. Quando você atualiza uma política, o Gerenciador de Extensões de VM implementa as mudanças em todas as VMs aplicáveis, geralmente em um minuto. Com base em como uma política é alterada, o Agente de Operações pode ser instalado em novas VMs ou desinstalado de VMs atuais.

Antes de começar

Antes de começar a usar as políticas de extensão do Gerenciador de Extensões de VM, faça o seguinte:

  • Conceda os papéis necessários para gerenciar as políticas do Gerenciador de extensões de VM.

  • Se você quiser usar uma interface de linha de comando para criar e gerenciar políticas de extensão e ainda não tiver instalado a Google Cloud CLI, instale a gcloud.

    É possível criar e gerenciar políticas de extensão de VM zonal usando o console doGoogle Cloud ou a Google Cloud CLI, gcloud. Para criar e gerenciar políticas globais de extensão de VM, use a gcloud.

Conceder papéis necessários para gerenciar políticas do Gerenciador de Extensões de VM

Para receber as permissões necessárias para visualizar, modificar e excluir políticas de extensão de VM, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para visualizar, modificar e excluir políticas de extensão de VM. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para visualizar, modificar e excluir políticas de extensão de VM:

  • Para ver as políticas de extensão: compute.vmExtensionPolicies.list
  • Para ver os detalhes de uma política de extensão: compute.vmExtensionPolicies.get
  • Para modificar as políticas de extensão: compute.vmExtensionPolicies.update
  • Para excluir políticas de extensão: compute.vmExtensionPolicies.delete

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre papéis e permissões do IAM no Compute Engine, consulte Papéis e permissões do Compute Engine.

Modificar as políticas de extensões que gerenciam o Agente de Operações

Para mudar como uma política gerencia o Agente de Operações, atualize a política. Quando você atualiza uma política, o Gerenciador de Extensões de VM implementa as mudanças em todas as VMs aplicáveis, geralmente em um minuto. Se você modificar os rótulos de inclusão, o Agente de Operações poderá ser instalado em novas VMs ou desinstalado das VMs existentes, dependendo se as VMs corresponderem aos rótulos atualizados.

As seções a seguir mostram como mudar uma política para:

Atualizar a versão fixada do Agente de Operações em todas as VMs de uma zona

Para mudar a versão fixada do Agente de Operações em todas as VMs de uma zona, faça o seguinte:

Console

Para criar uma política zonal, use o console do Google Cloud .

  1. No console do Google Cloud , acesse a página Políticas de extensão:

    Acesse Políticas de extensão.

    Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.

  2. Selecione a política que você quer atualizar.
  3. Clique em Editar.
  4. Na seção Gerenciar extensões, faça o seguinte:
    1. Na lista Extensão, selecione Google Cloud's Extension for Ops Agent.
    2. Modifique o campo Version. Use a versão 2.58.0 ou mais recente.
    3. Clique em Concluído.
  5. Clique em Salvar.

gcloud

Para criar uma política zonal ou global, use a CLI gcloud.

Zonal

Use o comando gcloud compute zone-vm-extension-policies update com a opção --version para modificar a versão do agente fixada.

Quando você atualiza uma política usando a gcloud, a solicitação funciona como uma substituição completa. Portanto, todos os campos opcionais omitidos da solicitação voltam aos valores padrão, em vez de manter os valores atuais da política modificada.

Para alterar a versão do Agente de Operações instalada em todas as VMs de uma zona por uma política, use o seguinte comando:

gcloud compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent 
  --version=ops-agent=VERSION

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • ZONE: a zona de destino, por exemplo, us-central1-f.
  • VERSION: a versão do Agente de Operações a ser instalada. Use a versão 2.58.0 ou mais recente. Para ver uma lista de versões, consulte a página de versões do Agente de Operações no GitHub.

    Se você omitir a opção --version, a política vai instalar a versão mais recente e atualizar o Agente de Operações quando uma nova versão for lançada, conforme mostrado no exemplo que instala a versão mais recente.

Global

Use o comando gcloud compute global-vm-extension-policies update com a opção --version para modificar a versão do agente fixada.

Quando você atualiza uma política usando a gcloud, a solicitação funciona como uma substituição completa. Portanto, todos os campos opcionais omitidos da solicitação voltam aos valores padrão, em vez de manter os valores atuais da política modificada.

Para alterar a versão do Agente de Operações instalada em todas as VMs por uma política global, use o seguinte comando:

gcloud compute global-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --extensions=ops-agent  \
  --rollout-predefined-plan=slow_rollout \
  --version=ops-agent=VERSION

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • VERSION: a versão do Agente de Operações a ser instalada. Use a versão 2.58.0 ou mais recente. Para ver uma lista de versões, consulte a página de versões do Agente de Operações no GitHub.

    Se você omitir a opção --version, a política vai instalar a versão mais recente e atualizar o Agente de Operações quando uma nova versão for lançada, conforme mostrado no exemplo que instala a versão mais recente.

Modificar a configuração do Agente de Operações em todas as VMs

Para modificar a configuração do Agente de Operações, faça o seguinte:

Console

Para criar uma política zonal, use o console do Google Cloud .

  1. No console do Google Cloud , acesse a página Políticas de extensão:

    Acesse Políticas de extensão.

    Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.

  2. Selecione a política que você quer atualizar.
  3. Clique em Editar.
  4. Na seção Gerenciar extensões, faça o seguinte:
    1. Na lista Extensão, selecione Google Cloud's Extension for Ops Agent.
    2. No campo Conteúdo do arquivo de configuração, insira a string de configuração YAML do Agente de Operações.
    3. Clique em Concluído.
  5. Clique em Salvar.

gcloud

Para criar uma política zonal ou global, use a CLI gcloud.

Zonal

Use o comando gcloud compute zone-vm-extension-policies update com a opção --config-from-file ou --config para especificar uma nova configuração.

Quando você atualiza uma política usando a gcloud, a solicitação funciona como uma substituição completa. Portanto, todos os campos opcionais omitidos da solicitação voltam aos valores padrão, em vez de manter os valores atuais da política modificada.

Para mudar a configuração do Agente de Operações instalado em todas as VMs de uma zona por uma política, use o seguinte comando:

gcloud compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent 
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • ZONE: a zona de destino, por exemplo, us-central1-f.
  • OPS_AGENT_CONFIG_PATH: o caminho para um arquivo que contém a string de configuração YAML do Agente de Operações. Esse arquivo precisa existir no ambiente em que você executa o comando gcloud.

    O YAML de configuração do Agente de Operações pode ser longo. Colocar a configuração em um arquivo e transmiti-lo para a CLI gcloud é muito menos propenso a erros do que tentar inserir um YAML formatado corretamente na linha de comando.

Global

Use o comando gcloud compute global-vm-extension-policies update com a opção --config-from-file ou --config para especificar uma nova configuração.

Quando você atualiza uma política usando a gcloud, a solicitação funciona como uma substituição completa. Portanto, todos os campos opcionais omitidos da solicitação voltam aos valores padrão, em vez de manter os valores atuais da política modificada.

Para mudar a configuração do Agente de Operações instalado em todas as VMs por uma política, use o seguinte comando:

gcloud compute global-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --extensions=ops-agent  \
  --rollout-predefined-plan=slow_rollout \
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • OPS_AGENT_CONFIG_PATH: o caminho para um arquivo que contém a string de configuração YAML do Agente de Operações. Esse arquivo precisa existir no ambiente em que você executa o comando gcloud.

    O YAML de configuração do Agente de Operações pode ser longo. Colocar a configuração em um arquivo e transmiti-lo para a CLI gcloud é muito menos propenso a erros do que tentar inserir um YAML formatado corretamente na linha de comando.

Se você fornecer uma configuração personalizada para o Agente de Operações ao criar ou atualizar uma política de extensão, ela vai implantar o Agente de Operações com a configuração personalizada. Não é necessário reiniciar manualmente o agente.

A configuração é armazenada com a política de extensão. Portanto, não inclua dados sensíveis, como senhas, na configuração. Como a configuração é armazenada com a política de extensão, modificar o arquivo de configuração não altera a configuração do agente. É preciso atualizar a configuração armazenada com a política usando o comando gcloud apropriado:

Quando você fornece uma configuração personalizada para o Agente de Operações, o Gerenciador de Extensões de VM copia a configuração para o local usado pelo Agente de Operações para arquivos de configuração especificados pelo usuário na VM de destino:

  • Linux: /etc/google-cloud-ops-agent/config.yaml
  • Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Se houver um arquivo config.yaml na VM, a política de extensão o substituirá.

Para informações gerais sobre como usar o console doGoogle Cloud e a CLI gcloud para gerenciar políticas de extensão de VM, consulte Modificar extensões atualizando uma política de extensão de VM.

Estender uma política global para incluir novas zonas (somente global)

Quando as VMs são criadas em novas zonas após a criação e o lançamento de uma política global, o Gerenciador de Extensões de VM não aplica automaticamente a política às VMs nas novas zonas. Para incluir as VMs em novas zonas, é necessário reiniciar o lançamento da política global.

Para reiniciar o lançamento de uma política global, use o comando gcloud compute global-vm-extension-policies update e forneça a opção --rollout-retry-uuid=UUID.

Por exemplo, suponha que você tenha criado e lançado uma política global usando o seguinte comando:

gcloud compute global-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --extensions=ops-agent  \
  --version=ops-agent=2.61.0 \
  --rollout-predefined-plan=slow_rollout \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml"

Para estender a política às VMs criadas em zonas não usadas anteriormente, reinicie o lançamento usando o seguinte comando:

gcloud compute global-vm-extension-policies update test-policy POLICY_NAME \
  --project=PROJECT_ID \
  --extensions=ops-agent  \
  --version=ops-agent=2.61.0 \
  --rollout-predefined-plan=slow_rollout \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --rollout-retry-uuid=UUID

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • UUID: um identificador exclusivo universal (UUID) que identifica a solicitação de nova tentativa. Você pode usar qualquer gerador de UUID para criar um. Para mais informações, consulte Tentar novamente um lançamento .

Atualizar uma política global para excluir um conjunto de zonas (somente global)

Para atualizar as zonas em que uma política global exclui algumas zonas em um projeto doGoogle Cloud , use um novo plano de lançamento personalizado que especifique as zonas em que a política será aplicada. Para saber como criar planos de lançamento personalizados, consulte Sobre planos de lançamento. Para especificar um conjunto de zonas, use o campo locationSelector.includedLocations ao criar o plano de lançamento.

Para atualizar uma política de extensão que usa um plano de lançamento personalizado, use o seguinte comando gcloud compute global-vm-extension-policies update:

gcloud compute global-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --extensions=ops-agent  \
  --rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/NEW_CUSTOM_PLAN_NAME \
  --rollout-retry-uuid=UUID

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • NEW_CUSTOM_PLAN_NAME: o nome associado ao seu plano de lançamento personalizado atualizado.
  • UUID: um identificador exclusivo universal (UUID) que identifica a solicitação de nova tentativa. Você pode usar qualquer gerador de UUID para criar um. Para mais informações, consulte Tentar novamente um lançamento .

Desinstalar o Agente de Operações excluindo as políticas de extensão de VM

Para desinstalar o Agente de Operações, exclua a política de extensão de VM que gerencia o agente. Se outra política ativa de menor prioridade se aplicar a uma VM e também gerenciar o Agente de Operações, ele vai permanecer instalado nessa VM com base na política de menor prioridade.

O Gerenciador de Extensões de VM remove o Agente de Operações de todas as VMs acessíveis em até um minuto após a exclusão da política. Se uma VM estiver inacessível, o Gerenciador de Extensões de VM vai pular a exclusão do agente. Se a VM ficar disponível novamente, o Gerenciador de extensões de VM vai remover o agente nesse momento.

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão:

    Acesse Políticas de extensão.

    Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.

  2. Selecione a política que você quer excluir.
  3. Clique em Excluir.
  4. Na caixa de diálogo de confirmação, clique em Excluir.

gcloud

Zonal

Para excluir a política de extensão de VM que gerencia o Agente de Operações, use o comando gcloud compute zone-vm-extension-policies delete:

gcloud compute zone-vm-extension-policies delete POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • ZONE: a zona de destino, por exemplo, us-central1-f.

Global

Para excluir a política global de extensão de VM que gerencia o Agente de Operações, use o comando gcloud compute global-vm-extension-policies delete:

gcloud compute global-vm-extension-policies delete POLICY_NAME \
  --project=PROJECT_ID \
  --rollout-predefined-plan=slow_rollout

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.

Para acelerar um lançamento de exclusão já iniciado, emita um novo comando de exclusão que use o plano fast_rollout. Também é necessário especificar a opção --rollout-retry-uuid=UUID:

gcloud compute global-vm-extension-policies delete POLICY_NAME \
  --project=PROJECT_ID \
  --rollout-predefined-plan=fast_rollout \
  --rollout-retry-uuid=UUID

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • UUID: um identificador exclusivo universal (UUID) que identifica a solicitação de nova tentativa. Você pode usar qualquer gerador de UUID para criar um. Para mais informações, consulte Tentar novamente um lançamento .

Recuperar informações sobre políticas de extensão de VM

É possível recuperar as seguintes informações sobre as políticas de extensão de VM:

  • Uma lista de todas as políticas no seu projeto do Google Cloud .
  • Informações de configuração sobre uma política específica.

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão:

    Acesse Políticas de extensão.

    Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.

    Nesta página, listamos todas as políticas de extensão de VM no projeto.
  2. Para ver os detalhes de uma política de extensão específica, clique no nome dela.

gcloud

Zonal

Listar políticas de extensão de VM

Para listar informações sobre todas as políticas de extensão de VM em uma zona, use o comando gcloud compute zone-vm-extension-policies list:

gcloud compute zone-vm-extension-policies list \
  --project=PROJECT_ID \
  --zone=ZONE \
  --page-size=PAGE_SIZE_INTEGER

Substitua as seguintes variáveis no comando:

  • PROJECT_ID: o identificador do projeto.
  • ZONE: a zona de destino, por exemplo, us-central1-f.
  • PAGE_SIZE_INTEGER: o número de políticas a serem listadas por página, por exemplo, 2. Para mais informações sobre as opções de classificação e filtragem, consulte gcloud compute zone-vm-extension-policies list .

Descrever uma política de extensão de VM nomeada

Para recuperar a configuração de uma política nomeada em uma zona, use o comando gcloud compute zone-vm-extension-policies describe:

gcloud compute zone-vm-extension-policies describe POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.
  • ZONE: a zona de destino, por exemplo, us-central1-f.

Global

Listar políticas globais de extensão de VM

Para listar informações sobre políticas globais de extensão de VM, use o comando gcloud compute global-vm-extension-policies list:

gcloud compute global-vm-extension-policies list \
  --project=PROJECT_ID \
  --page-size=PAGE_SIZE_INTEGER

Substitua as seguintes variáveis no comando:

  • PROJECT_ID: o identificador do projeto.
  • PAGE_SIZE_INTEGER: o número de políticas a serem listadas por página, por exemplo, 2. Para mais informações sobre as opções de classificação e filtragem, consulte gcloud compute global-vm-extension-policies list .

Descrever uma política global de extensão de VM com nome

Para recuperar a configuração de uma política nomeada em uma zona, use o comando gcloud compute global-vm-extension-policies describe:

gcloud compute global-vm-extension-policies describe POLICY_NAME \
  --project=PROJECT_ID

Substitua as seguintes variáveis no comando:

  • POLICY_NAME: um nome para a política de extensão de VM.
  • PROJECT_ID: o identificador do projeto.

Para informações gerais sobre como usar o console doGoogle Cloud e a CLI gcloud para recuperar informações sobre políticas de extensão de VM, consulte Ver políticas de extensão.

Reiniciar um Agente de Operações instalado por uma política de extensão

Quando o Agente de Operações é instalado e gerenciado pelo Gerenciador de Extensões de VM, ele não é gerenciado pelo serviço de gerenciamento do sistema operacional, ou seja, systemd no Linux ou o Gerenciador de Serviços do Windows no Windows. Portanto, os comandos systemctl do Linux e *-Service do Windows não funcionam com um Agente de Operações instalado por uma política de extensão.

Para reiniciar um Agente de Operações que foi instalado por uma política de extensão, siga um destes procedimentos:

  • Recrie a política.

    1. Exclua a política. A exclusão da política interrompe e desinstala o Agente de Operações.

    2. Crie uma nova política. A nova política instala e inicia o Agente de Operações.

  • Use uma política temporária de prioridade mais alta. Se a política original afetar um grande número de VMs, mas você quiser reiniciar o Agente de Operações apenas em um número pequeno, adicione um rótulo a essas VMs e configure a nova política para filtrar o rótulo.

    Por exemplo, se uma política com prioridade 1000 não conseguir iniciar o Agente de Operações em uma VM, adicione um rótulo como status=failed à VM. Em seguida, crie uma nova política com uma prioridade mais alta, como 500. Por exemplo, um comando da Google Cloud CLI pode ser assim:

    Zonal

    gcloud compute zone-vm-extension-policies create POLICY_NAME \
      --project=PROJECT_ID \
      --zone=ZONE \
      --extensions=ops-agent  \
      --inclusion-labels=status=failed \
      --priority=500 \
      --config-from-file=ops-agent=/usr/ops-agent-config.yaml
    

    Substitua as seguintes variáveis no comando:

    • POLICY_NAME: um nome para a política de extensão de VM.
    • PROJECT_ID: o identificador do projeto.
    • ZONE: a zona de destino, por exemplo, us-central1-f.

    Global

    gcloud compute global-vm-extension-policies create POLICY_NAME \
      --project=PROJECT_ID \
      --extensions=ops-agent  \
      --inclusion-labels=status=failed \
      --priority=500 \
      --config-from-file=ops-agent=/usr/ops-agent-config.yaml \
      --rollout-predefined-plan=fast_rollout
    

    Substitua as seguintes variáveis no comando:

    • POLICY_NAME: um nome para a política de extensão de VM.
    • PROJECT_ID: o identificador do projeto.

    Depois que a nova política instalar o Agente de Operações, exclua a política e remova o rótulo das VMs. O Agente de Operações permanece instalado na VM porque a política original ainda está ativa.

Ativar o registro de depuração do agente convidado na VM

As políticas do Gerenciador de Extensões de VM usam o agente convidado do Compute Engine para gerenciar o Agente de Operações como uma extensão de VM. Para saber como ativar a geração de registros de depuração para o agente convidado, consulte Ver registros de depuração do agente convidado.

A seguir