Este documento descreve como criar políticas de extensões de VMs, que lhe permitem instalar e gerir automaticamente extensões numa frota de máquinas virtuais (VMs) do Compute Engine. Ao definir uma política, pode garantir que extensões específicas são instaladas e mantidas em todas as VMs que correspondam aos critérios que especificar, como etiquetas de VMs.
Antes de começar
- Instale o componente beta
executando o seguinte comando:
gcloud components install beta
- Reveja os conceitos básicos sobre o VM Extension Manager.
- Reveja as quotas do Gestor de extensões de VMs.
- Ative a API Compute Engine no seu Google Cloud projeto se ainda não estiver ativada.
- Certifique-se de que a VM executa a versão
20241209.01ou posterior do agente convidado. - Para ver registos de depuração de eventos do Gestor de extensões de VMs, configure as definições de registo do agente convidado.
-
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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
Funções de IAM necessárias
Para receber a autorização de que precisa para criar uma política de extensão, peça ao seu administrador para lhe conceder a função IAM VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin). Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém a autorização
compute.vmExtensionPolicies.create, que é necessária para criar uma política de extensão.Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.
Para mais informações sobre as funções e as autorizações de IAM no Compute Engine, consulte o artigo Funções e autorizações do Compute Engine.
Crie uma política de extensão de VM
Use um dos seguintes métodos para criar uma política de extensões de VMs. Esta política define que extensões instalar e em que VMs.
Consola
- Na Google Cloud consola, aceda à página Políticas de extensão de VMs.
- Clique em Criar política de extensões.
- No campo Nome, introduza um nome para a política.
- Opcional: no campo Descrição, introduza uma descrição para a política.
- No campo Prioridade, especifique um número de prioridade para resolver conflitos entre políticas. Os números mais baixos indicam uma prioridade mais elevada. O valor predefinido é 1000.
- Na lista Zona, selecione a zona onde quer aplicar esta política.
- Na secção Extensões, clique em Adicionar extensão e faça o seguinte para cada extensão que quer instalar nas VMs de destino:
- Na lista Extensão, selecione uma extensão. Consulte as extensões suportadas.
- Na lista Versão, especifique o número da versão da extensão. Deixe o campo em branco para selecionar a versão mais recente.
- Para o agente de operações, pode especificar a versão
2.58.0ou posterior. - Para a extensão para SAP e a extensão para cargas de trabalho de computação, deixe o campo em branco para selecionar a versão mais recente.
- Para o agente de operações, pode especificar a versão
- Opcional: no campo Conteúdo do ficheiro de configuração, introduza os parâmetros de configuração da extensão.
- Na secção Instâncias de VM de destino, selecione as VMs para a política. Para selecionar VMs com etiquetas específicas, clique em Adicionar etiquetas e adicione o par de chave-valor.
- Clique em Criar.
gcloud
Para criar uma política de extensão de VM e implementá-la em VMs numa zona específica, use o comando
gcloud beta compute zone-vm-extension-policies create:gcloud beta compute zone-vm-extension-policies create POLICY_NAME \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
Substitua o seguinte:
POLICY_NAME: um nome para a política de extensão de VM.ZONE: a zona onde esta política se aplica.DESCRIPTION: uma descrição opcional da política.EXTENSION_NAME_1,EXTENSION_NAME_2: uma lista separada por vírgulas de extensões a adicionar à política. Tem de especificar, pelo menos, uma extensão. Os valores válidos para as extensões são:ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: uma lista separada por vírgulas de pares de chaves-valores em que a chave é o nome da extensão e o valor é a versão da extensão. Se não especificar uma versão para uma extensão, o VM Extension Manager usa a versão mais recente disponível e atualiza-a automaticamente quando estiverem disponíveis novas versões.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: uma lista de pares de chave-valor separados por vírgulas em que a chave é o nome da extensão e o valor é o caminho para o ficheiro de configuração dessa extensão. Este caminho está na VM onde executa o comandogcloude não na VM onde instala a extensão.Em alternativa, para fornecer a configuração como uma string inline, use a flag
--configem vez de--config-from-file, por exemplo,EXTENSION_NAME_1="CONFIG_1". Pode usar--config-from-fileou--config, mas não ambos no mesmo comando.KEY_1=VALUE_1: uma lista separada por vírgulas de pares de chave-valor que definem etiquetas de inclusão para um seletor. As VMs têm de ter todas as etiquetas especificadas num seletor para serem segmentadas. Se especificar--inclusion-labelsvárias vezes, a política segmenta VMs que correspondem a qualquer um dos seletores fornecidos (OU lógico). Se omitir esta flag, a política segmenta todas as VMs na zona especificada.PRIORITY: um número inteiro de 0 a 65535 que define a prioridade da política. Os números mais baixos indicam uma prioridade mais elevada. O valor predefinido é 1000.O comando falha se já existir uma política com o nome especificado na zona.
Exemplo 1
O seguinte comando cria uma política denominada
test-extension-policyque instala a extensãoops-agentna zonaus-central1-fpara o projetotest-project. A flag--config-from-fileespecifica o caminho para um ficheiro local que contém uma configuração YAML para o agente de operações.gcloud beta compute zone-vm-extension-policies create test-extension-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml"
Exemplo 2
O comando seguinte cria uma política denominada
test-extension-policy-2que instala a extensãoops-agentna zonaus-central1-fpara o projetotest-projectem VMs com a etiquetaenv=prod. A prioridade da política está definida como500e a flag--config-from-fileespecifica o caminho para um ficheiro local que contém uma configuração YAML para o agente de operações.gcloud beta compute zone-vm-extension-policies create test-extension-policy-2 \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod
O que se segue?
- Saiba como gerir extensões de VMs.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-12-10 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-10 UTC."],[],[]] -