Nesta página, descrevemos como testar os efeitos da política de manutenção de host da instância de máquina virtual (VM) nos aplicativos.
É possível simular um evento de manutenção nas VMs nas seguintes situações:
- Você tem VMs configuradas para serem migradas em tempo real durante eventos de manutenção e precisa testar os efeitos da migração em tempo real nos aplicativos.
- Você tem jobs em lote sendo executados em instâncias de VMs preemptivas e precisa testar como os aplicativos lidam com a preempção e a interrupção de uma ou mais instâncias.
- Suas instâncias estão configuradas para serem interrompidas e reinicializadas durante os eventos de manutenção em vez de serem migradas em tempo real, e você precisa testar como os aplicativos processam o encerramento e a reinicialização.
- Você quer testar o comportamento das cargas de trabalho em execução nos nós de locatário individual durante um evento de manutenção de host e ver os efeitos da política de manutenção de host da VM de locatário individual nos aplicativos em execução nas VMs.
Antes de começar
- Revise o limite de taxa da API para a métrica
simulate_maintenance_event_requests
. -
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 da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
-
Limitações
Se você tentar simular um evento de manutenção de host em VMs que não são compatíveis com a migração em tempo real, elas serão encerradas ou reiniciadas dependendo da política de manutenção de host configurada.
Ao tentar simular um evento de manutenção de host em um grupo de nós com uma política de manutenção de host definida para migrar no 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á.
Para simular corretamente um evento de manutenção em um grupo de nós com a 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ó.
Simular eventos de manutenção de host
É possível simular um evento de manutenção em uma VM usando a Google Cloud CLI ou uma solicitação de API.
Durante a simulação do evento de
manutenção de host, a chave de metadados maintenance-event
da VM passa pelas
seguintes alterações:
- 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
.
Para consultar a chave de evento de manutenção, veja Consultar a chave de metadados do evento de manutenção.
gcloud
Execute o
comando instances simulate-maintenance-event
para forçar uma instância a ativar a ação da política de manutenção
configurada:
gcloud compute instances simulate-maintenance-event VM_NAME \ --zone ZONE
Substitua:
VM_NAME
: o nome da VM em que você quer simular o evento de manutenção.É possível especificar vários nomes de VM separados por espaços únicos para simular eventos de manutenção em mais de uma VM da mesma zona. Por exemplo,
instance-1 instance-2 instance-3
.ZONE
: a zona em que a instância está localizada.
REST
Na API Compute Engine, faça uma solicitação para o método compute.instances.simulateMaintenanceEvent
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent
Substitua:
PROJECT_ID
: o ID do projeto desta solicitação;VM_NAME
: o nome da instância 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.
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
Na API Compute Engine, faça uma solicitação para o método compute.nodeGroups.simulateMaintenanceEvent
:
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 configurar a política de manutenção do host da VM.
- Saiba como visualizar operações de VM.
- Saiba mais sobre locação de VM.