Esta página descreve como testar os efeitos da política de manutenção do host da instância do Compute Engine nos aplicativos.
É possível simular um evento de manutenção nas VMs para testar o seguinte:
- Os efeitos da migração em tempo real nos seus aplicativos.
- Como seus aplicativos e jobs em lote lidam com a preempção e o desligamento ao usar uma ou mais VMs do Spot.
- Como seus aplicativos processam o encerramento e a reinicialização de instâncias configuradas para encerrar e reiniciar durante eventos de manutenção em vez de migrar em tempo real.
- Como as cargas de trabalho em execução nos nós de locatário individual se comportam durante um evento de manutenção de host e os efeitos da política de manutenção de host da VM de locatário individual nos aplicativos em execução nas VMs.
Se você tentar simular um evento de manutenção do host em uma instância que não oferece suporte à migração em tempo real, ela será encerrada ou reiniciada, dependendo da política de manutenção do host configurada.
Antes de começar
- Revise o
limite de taxa regional da API
para
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion
. -
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Para simular corretamente um evento de manutenção em um grupo nó de locatário individual com uma política de manutenção do host definida para migrar dentro do grupo de nós, você precisa acionar o evento de manutenção sequencialmente em cada nó.
- Em um grupo nó de locatário individual, quando você tenta simular um evento de manutenção
do host e o grupo de nós tem uma política de manutenção do host definida para migrar dentro
do grupo de nós:
- Se o número de nós especificado for menor ou igual ao número total de nós de restrição reservados, a simulação do evento de manutenção do host será executada para todos os nós especificados simultaneamente.
- Se o número de nós especificado for maior que o número total de nós de restrição reservados, a simulação falhará.
- O número de simulações de eventos de manutenção que você pode iniciar por minuto por
região é limitado pelo limite de taxa da API para a
métrica
simulate_maintenance_event_requests_per_region
. - No início da simulação, o valor da chave de metadados
maintenance-event
muda deNONE
paraMIGRATE_ON_HOST_MAINTENANCE
. - Durante a simulação do evento, o valor permanece como
MIGRATE_ON_HOST_MAINTENANCE
. - Depois que a simulação terminar, o valor retornará para
NONE
. INSTANCE_NAME
: o nome da instância de computação em que você quer simular o evento de manutenção.É possível especificar vários nomes de instância separados por espaços únicos para simular eventos de manutenção em mais de uma instância da mesma zona. Por exemplo,
instance-1 instance-2 instance-3
.ZONE
: a zona em que a instância está localizada.PROJECT_ID
: o ID do projeto desta solicitação;INSTANCE_NAME
: o nome da instância em que você quer simular o evento de manutenção.ZONE
: a zona em que a instância está localizada.Use o comando
compute instances simulate-maintenance-event
para simular um evento de manutenção de uma instância e testar as configurações configuradas da política de manutenção do host. Se quiser, inclua a flag--with-extended-notifications
.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Substitua:
INSTANCE_NAME
: o nome da instância de computação em que você quer simular o evento de manutenção.É possível especificar vários nomes de instância separados por espaços únicos para simular eventos de manutenção em mais de uma instância da mesma zona. Por exemplo,
instance-1 instance-2 instance-3
.ZONE
: a zona em que a instância está localizada.
Opcional: para iniciar manualmente o evento de manutenção simulado, use o comando
compute instances perform-maintenance
.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância de computação em que você quer simular o evento de manutenção.É possível especificar vários nomes de instância separados por espaços únicos para simular eventos de manutenção em mais de uma instância da mesma zona. Por exemplo,
instance-1 instance-2 instance-3
ZONE
: a zona em que as instâncias estão localizadas.
Crie uma solicitação
POST
para o métodocompute.instances.simulateMaintenanceEvent
. Opcionalmente, inclua o parâmetro de consultawithExtendedNotifications
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
Substitua:
PROJECT_ID
: o ID do projeto desta solicitação;INSTANCE_NAME
: o nome da instância em que você quer simular o evento de manutenção.ZONE
: a zona em que a instância está localizada.
Opcional: para iniciar manualmente o evento de manutenção simulado, crie uma solicitação
POST
para o métodocompute.instances.performMaintenance
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Substitua:
INSTANCE_NAME
: o nome da instância de computação em que você quer iniciar o evento de manutenção.É possível especificar vários nomes de instância separados por espaços únicos para realizar eventos de manutenção em mais de uma instância na mesma zona. Por exemplo,
instance-1 instance-2 instance-3
ZONE
: a zona em que as instâncias estão localizadas.
NODE_GROUP
: o nome do grupo de nós em que você quer simular o evento de manutenção.NODE_NAMES
: os nomes dos nós em que você quer simular o evento de manutenção. Ao especificar vários nomes de nós, use valores separados por vírgula, por exemplo,node-1,node-2,node-3
.ZONE
: a zona em que os nós estão localizados.PROJECT_ID
: o ID do projeto desta solicitação;ZONE
: a zona em que os nós estão localizados.NODE_GROUP
: o nome do grupo de nós em que você quer simular o evento de manutenção.NODE_NAMES
: os nomes dos nós em que você quer simular o evento de manutenção. Coloque o nome do nó entre aspas duplas, por exemplo,"node-1"
. E, ao especificar vários nomes de nós, use valores separados por vírgula, por exemplo,"node-1","node-2","node-3"
.- Saiba mais sobre os eventos de host.
- Saiba mais sobre a manutenção de host em nós de locatário individual.
- Saiba mais sobre como definir as opções da política de manutenção do host da VM.
- Saiba como visualizar operações de VM.
- Saiba mais sobre multilocação e locação única.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Simular eventos de manutenção de host para testar a migração em tempo real
É possível simular um evento de manutenção para uma instância de computação usando a Google Cloud CLI ou uma solicitação de API. Esse evento simulado inclui as diferentes atividades de manutenção que ocorrem em um evento de manutenção regular. Isso permite observar o processo de ponta a ponta e testar qualquer automação que você possa ter implementado.
Durante a simulação do evento de manutenção do host para uma instância que usa a migração ativa, a chave de metadados
maintenance-event
da instância passa pelas seguintes mudanças:Para consultar a chave de evento de manutenção, consulte Consultar a chave de metadados do evento de manutenção.
gcloud
Use o comando
compute instances simulate-maintenance-event
para simular um evento de manutenção de uma instância e testar as configurações configuradas da política de manutenção do host:gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Substitua:
REST
Crie uma solicitação
POST
para o métodocompute.instances.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
Substitua:
Simular a manutenção do host para instâncias de computação encerradas
É possível simular um evento de manutenção para uma instância de computação usando a Google Cloud CLI ou uma solicitação de API. Esse evento simulado inclui as diferentes atividades de manutenção que ocorrem em um evento de manutenção regular. Isso permite observar o processo de ponta a ponta e testar qualquer automação que você possa ter implementado.
Além disso, usando o parâmetro
--with-extended-notifications
com um tipo de máquina com suporte, é possível testar manualmente a inicialização da manutenção do host durante o evento simulado.gcloud
REST
Simular eventos de manutenção de host em nós de locatário individual
É possível simular um evento de manutenção de host em nós de locatário individual usando a Google Cloud CLI ou uma solicitação de API. Durante a simulação do evento de manutenção de host em uma VM de locatário único, o valor da chave de metadados
maintenance-event
não muda e permaneceNONE
durante toda a simulação.gcloud
Execute o comando
sole-tenancy node-groups simulate-maintenance-event
para forçar os nós de locatário individual a ativar a política de manutenção configurada:gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \ --nodes=NODE_NAMES \ --zone=ZONE \ --async
Substitua:
REST
Crie uma solicitação
POST
para o métodocompute.nodeGroups.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent { "nodes": [ "NODE_NAMES" ] }
Substitua:
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 2024-12-22 UTC.
-