Este documento descreve como aplicar seletivamente atualizações de configuração às instâncias de máquina virtual (VM) em um grupo de instâncias gerenciadas (MIG) .
O Compute Engine mantém as VMs em um MIG com base nos componentes de configuração que você usa: modelo de instância, configuração opcional de todas as instâncias e configuração opcional com estado.
Sempre que você atualiza a configuração da VM de um MIG alterando esses componentes, o Compute Engine aplica automaticamente a configuração atualizada às novas VMs adicionadas ao grupo.
Para aplicar uma configuração atualizada às VMs existentes, você pode configurar uma atualização seletiva, também conhecida como tipo de atualização "oportunista". Este tipo de atualização oferece as seguintes vantagens:
- Você pode selecionar as VMs que deseja atualizar.
- Você pode controlar o tempo e a sequência das atualizações.
- Você pode usar a CLI gcloud ou REST para atualizar todas as VMs imediatamente.
Como alternativa, se você quiser automatizar a implementação de uma nova configuração para todas ou para um subconjunto aleatório de VMs em um MIG, consulte Aplicar automaticamente atualizações de configuração de VM em um MIG . Para ajudá-lo a decidir, consulte Métodos para aplicar uma nova configuração a VMs existentes .
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
-
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.
- Set a default region and zone.
-
INSTANCE_GROUP_NAME
: o nome do MIG -
INSTANCE_TEMPLATE
: novo modelo de instância -
INSTANCE_NAMES
: uma lista de VMs às quais aplicar o modelo -
DISRUPTION_LEVEL
: o nível de interrupção mínimo ou máximo:none
,refresh
,restart
oureplace
- A ação mínima padrão é
none
- A ação padrão mais perturbadora permitida é
replace
- A ação mínima padrão é
-
INSTANCE_GROUP_NAME
: o nome do grupo -
NEW_TEMPLATE
: o nome do novo modelo -
ZONE
: a zona de uma instância a ser atualizada -
INSTANCE_NAME_1
eINSTANCE_NAME_2
: os nomes das VMs a serem atualizadas -
DISRUPTION_LEVEL
: o nível de interrupção mínimo ou máximo:NONE
,REFRESH
,RESTART
ouREPLACE
- A
minimalAction
padrão éNONE
. - O
mostDisruptiveAllowedAction
padrão éREPLACE
.
- A
Ação mínima : Use esta opção para minimizar ao máximo a interrupção ou para aplicar uma ação mais perturbadora do que o necessário.
- Para limitar ao máximo a interrupção, defina a ação mínima como
NONE
. Se a atualização exigir uma ação mais disruptiva, o Compute Engine executará a ação necessária para executar a atualização. - Para aplicar uma ação mais perturbadora do que o estritamente necessário, defina a ação mínima como
RESTART
ouREPLACE
. Por exemplo, o Compute Engine não precisa reiniciar uma VM para alterar seus metadados. Mas se seu aplicativo ler metadados de instância somente quando uma VM for reiniciada, você poderá definir a ação mínima comoRESTART
para captar alterações de metadados.
- Para limitar ao máximo a interrupção, defina a ação mínima como
Ação permitida mais perturbadora : use esta opção para evitar uma atualização se ela exigir mais interrupções do que você pode pagar. Se a sua atualização exigir uma ação mais perturbadora do que a definida com esse sinalizador, a solicitação de atualização falhará. Por exemplo, se você definir a ação permitida mais perturbadora como
RESTART
, uma tentativa de atualizar a imagem do disco de inicialização falhará porque essa atualização requer a recriação da instância, uma ação mais perturbadora do que uma reinicialização.- A ação mínima padrão é
NONE
, o que limita ao máximo a interrupção. - A ação padrão mais perturbadora permitida é
REPLACE
. Se você não puder tolerar tal interrupção, defina a ação permitida mais perturbadora para ser menos perturbadora. - Saiba mais sobre como visualizar informações sobre MIGs e VMs gerenciadas .
- Saiba mais sobre como criar modelos de instância .
- Saiba como usar famílias de imagens e uma substituição contínua para atualizar a imagem do sistema operacional em todas as VMs em um MIG.
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.
Aplicar configuração atualizada às VMs selecionadas
Certifique-se de que o tipo de política de atualização do seu grupo esteja definido como "oportunista" para evitar que o MIG aplique automaticamente uma nova configuração de VM às VMs existentes. Para obter mais informações, consulte Verifique o tipo de política de atualização do seu grupo .
Em seguida, use a CLI ou REST gcloud para atualizar a configuração do MIG e aplicar a configuração mais recente a VMs específicas do grupo ou a todas as VMs do grupo.
gcloud
Para configurar um novo modelo de instância para seu grupo, você pode usar o comando
set-instance-template
.gcloud compute instance-groups managed set-instance-template INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE
Aplicar configuração a VMs específicas
Para aplicar a configuração atualizada a VMs específicas, use o comando
update-instances
com a sinalização--instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAMES \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Aplicar configuração a todas as VMs
Para aplicar a configuração atualizada a todas as VMs, use o comando
update-instances
com a sinalização--all-instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Substitua o seguinte:
DESCANSAR
Para configurar um novo modelo de instância para seu grupo, chame o método
patch
em um MIG zonal ou regional e atualize oversions.instanceTemplate
. Para evitar a implementação automática do novo modelo para todas as VMs do grupo, defina o campoupdatePolicy.type
comoOPPORTUNISTIC
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "OPPORTUNISTIC" }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Aplicar configuração a VMs específicas
Para aplicar a configuração atualizada a VMs específicas, chame o método
applyUpdatesToInstances
para seu MIG zonal ou regional e especifique uma lista de VMs na solicitação.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ], "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Aplicar configuração a todas as VMs
Para aplicar a configuração atualizada a todas as VMs existentes, defina o campo
allInstances
comotrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "allInstances": true, "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Substitua o seguinte:
Semelhante a outros métodos de grupo de instâncias gerenciadas,
applyUpdatesToInstances
é baseado em intenção, o que significa que retorna uma resposta de operação . A operação pode levar algum tempo para ser concluída.Depois de fazer uma solicitação, você pode verificar o status para verificar se a atualização foi concluída.
Controle o nível de interrupção durante atualizações seletivas
Dependendo da natureza de uma atualização, ela poderá interromper o estado de uma instância . Por exemplo, alterar o disco de inicialização de uma instância requer a substituição da instância. Você pode controlar o nível de interrupção durante uma atualização seletiva definindo as seguintes opções:
Ao atualizar VMs selecionadas, ambas as opções aceitam os seguintes valores:
Valor Descrição Quais propriedades da instância podem ser atualizadas? NONE
Não interrompa a instância de forma alguma. Nenhum REFRESH
Não pare a instância. Discos adicionais, metadados de instância, rótulos, tags RESTART
Pare a instância e inicie-a novamente. Discos adicionais, metadados de instância, rótulos, tags, tipo de máquina REPLACE
Exclua a instância e crie-a novamente. Todas as propriedades da instância armazenadas no modelo de instância ou na configuração por instância A ação permitida mais perturbadora não pode ser menos perturbadora do que a ação mínima.
Quando você atualiza VMs seletivamente, os seguintes padrões se aplicam:
O que vem a seguir
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-04-21 UTC.
-