Como algumas operações afetam o estado preservado das instâncias gerenciadas


Leia as seções a seguir para saber como várias configurações, ações de grupos de instâncias gerenciadas (MIG, na sigla em inglês) ou eventos de ciclo de vida da instância afetam o estado preservado de uma instância gerenciada, em um MIG com estado:

Como a recuperação automática lida com o estado preservado

Quando uma instância de máquina virtual (VM) deixa de ser executada ou se torna não íntegra, a recuperação automática recria a VM e mantém o estado preservado para itens que você configurou:

  • O MIG preserva os discos com estado e os endereços IP e os anexa novamente na recriação da VM.
  • O MIG preserva os metadados com estado, configurados na configuração por instância, e os define na recriação da VM.

Para evitar falhas na recriação das instâncias de VM devido a um disco de inicialização com estado corrompido, mantenha o disco de inicialização sem estado para que a recuperação automática possa recriá-lo do zero usando a imagem original.

Como a atualização de instâncias lida com o estado preservado

Quando você atualiza uma instância, o MIG mantém o estado preservado da instância (discos, endereços IP, metadados):

  • O MIG preserva os discos com estado e os endereços IP e os anexa novamente se a instância de VM for recriada ou reiniciada durante a atualização.
  • O MIG preserva metadados com estado, configurados em uma configuração por instância, e os define na instância durante a atualização.

Ao definir um novo modelo de instância, você precisa definir todos os discos especificados na política com estado. Não é permitido definir um novo modelo de instância que omita um disco definido em uma política com estado. Isso ajuda a evitar a exclusão acidental de discos com estado.

Para remover discos com estado de um MIG, quando eles estiverem definidos em uma política com estado, use o procedimento a seguir:

  1. Remova a configuração de disco da política com estado.
  2. Opcional. Remova os discos das instâncias de VM se ainda quiser mantê-los.
  3. Implemente um novo modelo de instância que não define mais os discos.

Não é possível atualizar discos com estado para uma nova imagem, porque esses discos precisam ser preservados durante a atualização, e a atualização para uma nova imagem requer a recriação de um disco.

O Google recomenda que você mantenha os discos de inicialização e quaisquer discos com binários ou arquivos temporários sem estado e, ao mesmo tempo, mantenha os dados em discos com estado. Essa configuração é compatível com o seguinte comportamento:

  • Há a opção de atualizar, de maneira simples e automática, o disco de inicialização e os discos com binários para imagens mais recentes que contenham novas versões e patches de segurança. É possível usar a atualização automática ou atualizar manualmente as instâncias para recriar esses discos sem estado e, ao mesmo tempo, manter os dados intactos em discos com estado separados.
  • É possível preservar os dados em discos com estado ao lançar outras atualizações em suas instâncias.

Você tem a opção de configurar um disco de inicialização para ter estado, por exemplo, para hospedar um aplicativo legado que mantém binários e dados no mesmo disco. Isso permite que você mova um aplicativo para um MIG para se beneficiar da recuperação automática. No entanto, nesse cenário, você precisará executar atualizações de software e do sistema operacional, por exemplo, ao atualizar pacotes individuais usando um gerenciador de pacotes, como o apt em sistemas Debian, ou ao usar ferramentas de gerenciamento de configuração.

Se você definiu apenas nomes de instâncias personalizadas e não configurou discos ou metadados com estado, use atualizações graduais automatizadas. Para atualizações automatizadas, defina a política de substituição do Updater como RECREATE. Não é possível usar o método de substituição SUBSTITUTE em instâncias de atualização automática em MIGs com estado, porque esse método substitui cada VM atual por uma nova com um nome diferente e um estado preservado.

Como o redimensionamento de grupos afeta o estado preservado

Como diminuir o tamanho do grupo

O Google não recomenda diminuir o tamanho de um MIG com estado, porque ele escolhe as instâncias de VM para exclusão e pode escolher as VMs que você precisa preservar. É possível remover instâncias de VM do MIG de maneira controlada, excluindo instâncias específicas que não são mais necessárias.

Se você diminuir o tamanho do MIG, ele excluirá todas as instâncias de VM extras com os estados de preservação associados. Para evitar isso, configure o MIG para remover e preservar discos com estado e endereços IP na exclusão permanente da instância de VM. Os metadados com estado são excluídos junto com o estado preservado. Para mais informações, consulte como a exclusão de uma instância afeta o estado preservado.

Como aumentar o tamanho do grupo

Quando você aumenta o tamanho de um MIG com estado, o grupo cria VMs a partir do modelo de instância atual com nomes gerados automaticamente (nome da instância de base + sufixo). É possível ver a configuração com estado aplicada no preservedStateFromPolicy da instância gerenciada correspondente. Depois que o MIG criar as instâncias, é possível definir metadados com estado e mais discos com estado ou endereços IP nas configurações por instância para essas instâncias.

É possível escolher nomes de instâncias personalizadas e aumentar o tamanho do grupo criando instâncias manualmente, com a opção de inicializar os estados ao fornecer configurações por instância com metadados, endereços IP e discos com estado para cada instância.

Como a exclusão de uma instância afeta o estado preservado

Uma VM em um MIG é excluída permanentemente quando:

  • você reduz o tamanho do grupo e o MIG escolhe essa instância de VM para exclusão ou;
  • você exclui o grupo inteiro ou;
  • Você exclui a instância do MIG.

Quando uma VM é excluída permanentemente, o MIG também exclui a configuração por instância e a instância gerenciada correspondentes, incluindo a configuração de estado preservado dela.

A exclusão permanente da VM resulta na perda de todos os pares de chave-valor de metadados com estado.

É possível definir se você quer manter ou excluir discos com estado na exclusão permanente da instância definindo a sinalização autoDelete para cada recurso, seja na política com estado ou em uma configuração por instância. A sinalização é compatível com duas opções:

  • NEVER: padrão. O MIG nunca exclui o disco.
  • ON_PERMANENT_INSTANCE_DELETION: o MIG exclui o disco quando a instância é excluída permanentemente.

O MIG não exclui recursos com estado ao recuperar automaticamente, atualizar ou recriar instâncias.

No exemplo a seguir, o MIG tem uma única VM node-1 com um estado preservado definido por uma configuração por instância. O estado preservado inclui dois discos (azul e verde) e metadados id:xyz273. Se você redimensionar o MIG para zero, ele acionará a exclusão permanente da instância (node-1), causando os seguintes efeitos:

  • O MIG exclui a instância gerenciada e a respectiva configuração de estado preservada.
  • O MIG exclui a configuração por instância da instância.
  • O MIG exclui o recurso real da instância de VM.
  • Os metadados id:xyz273 são perdidos porque a instância de VM e sua configuração de estado preservada são excluídas.
  • O disco azul com estado é excluído porque, para esse disco, a configuração por instância tem autoDelete: ON_PERMANENT_INSTANCE_DELETION.
  • O disco verde com estado é removido porque, para esse disco, a configuração por instância tem autoDelete:NEVER.

Como excluir uma instância de um MIG com estado.

Como o abandono de uma instância afeta o estado preservado

Quando você abandona uma instância de VM de um MIG, o estado da VM, incluindo metadados com estado, endereços IP e discos, permanece na instância fora do MIG. Como a VM não é mais gerenciada pelo MIG, ele exclui a configuração por instância e a instância gerenciada correspondentes, incluindo a configuração de estado preservado da instância.

No exemplo a seguir, a VM node-1 preservou o estado, definido por uma política com estado (disco azul) e uma configuração por instância (disco verde e metadados id:xyz273). Se você abandonar a instância node-1 do MIG, veja o que acontece com o estado preservado:

  • A instância de VM independente node-1 preserva o estado: todos os respectivos discos permanecem anexados e os metadados id:xyz273 permanecem definidos na VM.
  • O MIG exclui a instância gerenciada e a respectiva configuração de estado preservada.
  • O MIG exclui a configuração por instância da instância.
  • A política com estado permanece inalterada porque é aplicável a todas as instâncias no MIG.

Como abandonar uma instância de um MIG com estado.

Como os grupos regionais lidam com o estado preservado

MIGs regionais com estado controlam os estados preservados das instâncias deles da mesma forma que os MIGs zonais, mas os MIGs regionais criam instâncias de VM em várias zonas:

  • Ao criar instâncias, um MIG regional distribui VMs de maneira uniforme entre zonas de uma região para maximizar a disponibilidade do app no caso de uma falha no nível da zona.
  • Para instâncias atuais, um MIG regional com estado não pode redistribuir ou mover VMs atuais entre zonas automaticamente, porque o estado preservado é armazenado em uma zona específica e não pode ser movido. Por essa razão, MIGs regionais com estado só são compatíveis com uma configuração de NONE do tipo de redistribuição de instância.

Feedback

Queremos saber sobre seus casos de uso, desafios e feedback que envolvem os MIGs com estado. Compartilhe essas informações com nossa equipe em mig-discuss@google.com.

A seguir