Definir política de manutenção do host da VM


Neste documento, descrevemos como definir a política de manutenção de host de uma instância de máquina virtual para configurar o comportamento da VM quando ocorre um evento de host.

Antes de começar

Limitações

  • Não é possível alterar a política de manutenção do host de uma VM preemptiva. Quando há um evento de manutenção, a VM preemptiva é interrompida e não migra. Você precisa reiniciar manualmente a VM preemptiva.
  • Depois de criar uma VM usando um tipo de máquina E2, não é possível alterar as configurações de manutenção do host da VM de Migrate para Terminate ou vice-versa.

Definir política de manutenção de host de uma VM

É possível alterar a política de manutenção do host de uma VM ao criar uma VM ou depois que ela for criada usando os setScheduling. Para configurar o comportamento de manutenção de uma VM, o comportamento de reinicialização e o tempo de detecção de erros de host, use as propriedades onHostMaintenance, automaticRestart e hostErrorTimeoutSeconds. O Compute Engine configura todas as VMs com valores padrão, a menos que você especifique o contrário.

  • onHostMaintenance: determina o comportamento quando ocorre um evento de manutenção que possa causar a reinicialização da instância.

    • MIGRATE: faz com que o Compute Engine migre em tempo real uma instância quando há um evento de manutenção. Esse é o valor padrão.
    • TERMINATE: interrompe uma VM em vez de migrá-la.
  • automaticRestart: determina o comportamento quando uma VM falha ou é interrompida pelo sistema.

    • true: o Compute Engine reinicializa a instância se ela falhar ou for interrompida. Esse é o valor padrão.
    • false: o Compute Engine não reinicia a VM se ela falhar ou for interrompida.
  • hostErrorTimeoutSeconds (Visualização): define o tempo máximo, em segundos, que o Compute Engine aguarda para reiniciar ou encerrar uma VM depois de detectar que não está respondendo.

    • [Padrão] não definido, o Compute Engine aguarda até 5,5 minutos (330 segundos) antes de reiniciar uma VM não responsiva.
    • Número de segundos entre 90 e 330, em incrementos de 30, o que define quanto tempo o Compute Engine aguarda antes de reiniciar uma VM não responsiva.

Todas as instâncias são configuradas com valores padrão, a não ser que você especifique outra forma explicitamente.

Definir política de manutenção de host durante a criação da VM

Console

  1. No console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Expanda a seção Rede, discos, segurança, gerenciamento, locatário único e faça o seguinte:

    1. Expanda a seção Gerenciamento.
    2. Na lista Reinicialização automática, selecione a opção que você quer usar.
    3. Na lista Na manutenção do host, selecione a opção que você quer.
  3. Para criar a VM, clique em Criar.

gcloud

Para definir a política de manutenção do host de uma nova VM em gcloud compute, use a sinalização --maintenance-policy para especificar se a VM será migrada ou interrompida. Por padrão, as VMs são configuradas automaticamente para reiniciar, a menos que você forneça a sinalização --no-restart-on-failure.

Para especificar o tempo máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM depois de detectar que ela não está respondendo, use a sinalização --host-error-timeout-seconds (Visualização). de dados.

gcloud compute instances create VM_NAME \
    --maintenance-policy=MAINTENANCE_POLICY \
    --host-error-timeout-seconds=NUMBER_OF_SECONDS \
    [--no-restart-on-failure]

Substitua:

  • VM_NAME: o nome da VM.
  • MAINTENANCE_POLICY: a política dessa VM (TERMINATE ou MIGRATE)
  • NUMBER_OF_SECONDS: o número de segundos que o Compute Engine aguarda antes de reiniciar uma VM não responsiva, entre 90 e 330, em incrementos de 30. Essa opção está disponível em "Visualização". Para usar essa opção, use o comando gcloud beta compute instances create.

API

Para definir a política de manutenção de host de uma nova VM usando a API Compute Engine, use o método instances.insert.

No corpo da solicitação, adicione onHostMaintenance para especificar se a VM será migrada ou interrompida durante a manutenção do host. As VMs são definidas automaticamente para reiniciar após um erro de host, a menos que você defina automaticRestart como false.

Para especificar o tempo máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM depois de detectar que a VM não está respondendo, adicione o parâmetro hostErrorTimeoutSeconds (Visualização). ao corpo da solicitação.

Na API, faça uma solicitação POST para o seguinte URL, substituindo o projeto e a zona pelo ID do projeto e a zona da VM:

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

Substitua:

  • PROJECT_ID: o projeto em que você quer criar a VM em
  • ZONE: a zona em que você quer criar a VM

Adicione os parâmetros onHostMaintenance, hostErrorTimeoutSeconds e automaticRestart como parte do corpo da solicitação:

{
 "name": "VM_NAME",
 ...
 // User options for influencing this Instance's life cycle.
 "scheduling": {
   "onHostMaintenance": "MAINTENANCE_POLICY",
   "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS,
   "automaticRestart": RESTART_POLICY
 }
}

Substitua:

  • VM_NAME: o nome da VM.
  • MAINTENANCE_POLICY: a política dessa VM (TERMINATE ou MIGRATE)
  • NUMBER_OF_SECONDS: o número de segundos que o Compute Engine aguarda antes de reiniciar uma VM não responsiva, entre 90 e 330, em incrementos de 30. Essa opção está disponível em "Visualização". Para usar essa opção, utilize o método Beta instances.inset.
  • RESTART_POLICY: a política de reinicialização desta VM, true ou false

Atualizar política de manutenção de host de uma VM

Console

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Clique na VM com as configurações que você quer alterar. A página de detalhes da VM é exibida.

  3. Na página de detalhes da VM, conclua estas etapas:

    1. Clique no botão Editar na parte superior da página.
    2. Em Políticas de disponibilidade, atualize a política, conforme necessário. Na seção Políticas de disponibilidade, defina as opções Na manutenção do host e Reinicialização automática.
    3. Clique em Save.

gcloud

Para atualizar a política de manutenção do host de uma VM atual, use o comando gcloud compute instances set-scheduling com os mesmos parâmetros e sinalizações usados no comando de criação da VM acima.

gcloud compute instances set-scheduling VM_NAME \
     --maintenance-policy=MAINTENANCE_POLICY \
     --host-error-timeout-seconds=NUMBER_OF_SECONDS \
     [--no-restart-on-failure | --restart-on-failure]

Substitua:

  • MAINTENANCE_POLICY: a política dessa VM (TERMINATE ou MIGRATE)
  • VM_NAME: o nome da VM.
  • NUMBER_OF_SECONDS: o número de segundos que o Compute Engine aguarda antes de reiniciar uma VM não responsiva, entre 90 e 330, em incrementos de 30. Essa opção está disponível em "Visualização". Para usar essa opção, use o comando gcloud beta compute instances set-scheduling.

API

Para atualizar a política de manutenção do host de uma VM atual, use o método instances.setScheduling.

No corpo da solicitação, adicione onHostMaintenance para especificar se a VM será migrada ou interrompida durante a manutenção do host. As VMs são definidas automaticamente para reiniciar após um erro de host, a menos que você defina automaticRestart como false.

Para especificar o tempo máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM depois de detectar que a VM não está respondendo, adicione o parâmetro hostErrorTimeoutSeconds (Visualização). ao corpo da solicitação.

Na API, faça uma solicitação POST para o seguinte URL:

https://compute.googleapis.com/compute/v1/projects/PROJECT_IDt/zones/ZONE/instances/VM_NAME/setScheduling

Substitua:

  • PROJECT_ID: é o projeto em que a VM está localizada
  • ZONE: é a zona em que a VM está localizada
  • VM_NAME: o nome da VM.

Adicione os parâmetros onHostMaintenance, hostErrorTimeoutSeconds e automaticRestart como parte do corpo da solicitação:

{
 "onHostMaintenance": "MAINTENANCE_POLICY",
 "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS,
 "automaticRestart": RESTART_POLICY
}

Substitua:

  • MAINTENANCE_POLICY: a política dessa VM (TERMINATE ou MIGRATE)
  • NUMBER_OF_SECONDS: o número de segundos que o Compute Engine aguarda antes de reiniciar uma VM não responsiva, entre 90 e 330, em incrementos de 30. Essa opção está disponível em "Visualização". Para usar essa opção, utilize o método Beta instances().setScheduling.

  • RESTART_POLICY: a política de reinicialização desta VM, true ou false

A seguir