Nesta página, descrevemos como testar os efeitos da política de manutenção de host da instância do Compute Engine nos aplicativos.
Você pode simular um evento de manutenção nas VMs para testar o seguinte:
- Os efeitos da migração em tempo real nos aplicativos.
- Como os aplicativos e jobs em lote processam a preempção e o desligamento ao usar uma ou mais VMs Spot.
- Como os aplicativos processam o encerramento e a reinicialização de instâncias configuradas para serem encerradas e reiniciadas durante eventos de manutenção, em vez de serem migradas em tempo real.
- Como as cargas de trabalho em execução em 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 de host em uma instância que não oferece suporte à migração em tempo real, a instância será encerrada ou reiniciada, dependendo da política de manutenção de host configurada .
Antes de começar
- Revise o
limite de taxa da API regional
para
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion. -
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com um destes métodos:
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Limitações
- Para simular corretamente um evento de manutenção em um grupo nó de locatário individual que tem uma política de manutenção de host definida para migrar dentro do grupo de nós, você precisa acionar o evento de manutenção sequencialmente em cada nó.
- Para um grupo nó de locatário individual, ao tentar simular um evento de manutenção de host e o grupo de nós tiver uma política de manutenção de 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 de 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 podem ser iniciadas por minuto por
região é limitado pelo limite de taxa da API para a
simulate_maintenance_event_requests_per_regionmétrica.
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 normal. Isso permite observar o processo de ponta a ponta e testar qualquer automação implementada.
Durante a simulação do evento de manutenção de host para uma instância que usa a migração em tempo real, a chave de metadados maintenance-event da instância passa pelas seguintes alterações:
- No início da simulação, o valor da chave de metadados
maintenance-eventmuda deNONEparaMIGRATE_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.
Para consultar a chave de evento de manutenção, veja Consultar a chave de metadados do evento de manutenção.
gcloud
Use the
compute instances simulate-maintenance-event command
para simular um evento de manutenção para uma instância e testar as configurações de política de manutenção de host configuradas:
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.
REST
Crie uma solicitação POST para o
compute.instances.simulateMaintenanceEvent método:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
Substitua:
PROJECT_ID: o ID do projeto desta solicitação;INSTANCE_NAME: o nome da instância para a qual você quer simular o evento de manutenção.ZONE: a zona em que a instância está localizada.
Simular a manutenção de host para instâncias de computação que sã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 normal. Isso permite observar o processo de ponta a ponta e testar qualquer automação implementada.
Além disso, ao usar o parâmetro --with-extended-notifications com um
tipo de máquina compatível
é possível testar o início manual da manutenção do host durante o evento simulado.
gcloud
Use o
compute instances simulate-maintenance-eventcomando para simular um evento de manutenção para uma instância e testar as configurações de política de manutenção de host configuradas. Opcionalmente, inclua o 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
compute instances perform-maintenancecomando.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.
REST
Crie uma solicitação
POSTpara ocompute.instances.simulateMaintenanceEventmétodo. 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 para a qual 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
POSTsolicitação para ocompute.instances.performMaintenancemétodo.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 da mesma zona. Por exemplo,
instance-1 instance-2 instance-3.ZONE: a zona em que as instâncias estão localizadas.
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 permanece NONE 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:
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.
REST
Crie uma solicitação POST para o
compute.nodeGroups.simulateMaintenanceEvent método:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent
{
"nodes": [
"NODE_NAMES"
]
}
Substitua:
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".
A seguir
- 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 de política de manutenção do host da VM.
- Saiba como visualizar operações de VM.
- Saiba mais sobre a multilocação e a locação individual.