É 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 ver as políticas de extensão:
- Leitor de políticas de extensão de VM (
roles/compute.vmExtensionPolicyViewer) - Administrador de políticas de extensão de VM (
roles/compute.vmExtensionPolicyAdmin)
- Leitor de políticas de extensão de VM (
-
Para modificar as políticas de extensão:
Administrador de políticas de extensão de VM (
roles/compute.vmExtensionPolicyAdmin) -
Para excluir políticas de extensão:
Administrador de políticas de extensão de VM (
roles/compute.vmExtensionPolicyAdmin)
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 em todas as VMs
- Modificar a configuração do Agente de Operações em todas as VMs
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 .
-
No console do Google Cloud , acesse a página 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.
- Selecione a política que você quer atualizar.
- Clique em Editar.
- Na seção Gerenciar extensões, faça o seguinte:
- Na lista Extensão, selecione
Google Cloud's Extension for Ops Agent. - Modifique o campo Version. Use a versão 2.58.0 ou mais recente.
- Clique em Concluído.
- Na lista Extensão, selecione
- 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 .
-
No console do Google Cloud , acesse a página 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.
- Selecione a política que você quer atualizar.
- Clique em Editar.
- Na seção Gerenciar extensões, faça o seguinte:
- Na lista Extensão, selecione
Google Cloud's Extension for Ops Agent. - No campo Conteúdo do arquivo de configuração, insira a string de configuração YAML do Agente de Operações.
- Clique em Concluído.
- Na lista Extensão, selecione
- 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:
- Para políticas zonais, use o comando
gcloud compute zone-vm-extension-policiesupdate. - Para políticas globais, use o comando
gcloud compute global-vm-extension-policiesupdate.
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
-
No console do Google Cloud , acesse a página 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.
- Selecione a política que você quer excluir.
- Clique em Excluir.
- 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
-
No console do Google Cloud , acesse a página 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. - 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, consultegcloud compute zone-vm-extension-policieslist.
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, consultegcloud compute global-vm-extension-policieslist.
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.
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-policiescreatePOLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --extensions=ops-agent \ --inclusion-labels=status=failed \ --priority=500 \ --config-from-file=ops-agent=/usr/ops-agent-config.yamlSubstitua 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-policiescreatePOLICY_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_rolloutSubstitua 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
- Resolver problemas em políticas de extensão.
- Confira informações detalhadas sobre como configurar o Agente de Operações.
- Saiba mais sobre o Gerenciador de extensões de VM.