Um grupo de instâncias gerenciadas com estado (MIG com estado) preserva o estado exclusivo de cada instância de máquina virtual (VM), incluindo nome da VM, discos permanentes anexados, endereços IP e/ou metadados, na reinicialização, recriação, recuperação automática ou atualização da máquina.
Esta página descreve como funcionam os MIGs com estado. Consulte Configurando MIGs com estado para saber como configurar um MIG com estado.
Visão geral de como funcionam os MIGs com estado
Um MIG é considerado com estado se você tiver criado uma configuração com estado .
Você cria uma configuração com estado definindo uma política com estado não vazia e/ou uma ou mais configurações por instância não vazias:
- Uma política com estado define os itens que você deseja preservar para todas as instâncias do seu MIG.
- Uma configuração por instância define itens a serem preservados para uma instância de VM específica.
A configuração entra em vigor depois que você ou o MIG a aplica :
- Um MIG aplica automaticamente sua configuração de política com estado a instâncias novas e existentes.
- Ao criar ou atualizar configurações por instância, você pode escolher se deseja aplicar a nova configuração manualmente ou aplicá-la automaticamente.
Depois que a configuração com estado (política com estado e/ou configurações por instância) for aplicada, você poderá verificá- la inspecionando o estado preservado de cada instância gerenciada.
Alterações subsequentes na configuração ou no tamanho com estado do seu MIG (por exemplo, diminuir o tamanho do MIG ou excluir ou abandonar instâncias do MIG) podem afetar os estados preservados das instâncias.
Como a configuração com estado é aplicada a instâncias gerenciadas
Sua configuração com estado entra em vigor depois que você ou o MIG a aplica. A aplicação da configuração com estado às instâncias de um MIG depende da configuração:
- Política com estado: o MIG aplica automaticamente sua configuração de política com estado a instâncias novas e existentes.
- Configurações por instância: ao criar ou atualizar configurações por instância, você pode escolher se deseja aplicar a nova configuração manualmente ou aplicá-la automaticamente.
Como as atualizações de políticas com estado são aplicadas às instâncias
Quando você cria ou atualiza uma política com estado , por exemplo, adiciona ou remove um disco com estado, o MIG aplica sua configuração de política com estado a todas as instâncias gerenciadas no grupo de forma automática e assíncrona. Um MIG também aplica automaticamente sua configuração de política com estado a novas instâncias durante sua criação, por exemplo, quando o tamanho de um MIG é aumentado ou quando você cria instâncias no MIG manualmente.
Após a aplicação da configuração, você poderá ver o efeito da atualização no estado preservado de cada instância gerenciada da política .
As atualizações de uma política com estado não interrompem a execução das VMs.
Quando você atualiza uma política com estado para adicionar um disco com estado, o MIG atualiza cada recurso da VM, alterando o valor do sinalizador autoDelete
do disco ( instances.disks[].autoDelete
):
- O MIG define
autoDelete
comoFALSE
para discos configurados como com monitoração de estado. Isso evita a exclusão desse disco na recriação da instância por meio de recuperação automática, atualização ou recriação manual. - O MIG define
autoDelete
para corresponder à configuração do modelo de instância (instanceTemplates.disks[].autoDelete
) para todos os discos que devem ser sem estado.
Alterar o valor do sinalizador autoDelete
não interrompe uma VM em execução.
Como as atualizações de configuração por instância são aplicadas às instâncias
Ao criar ou atualizar uma configuração por instância, você pode escolher se deseja aplicar a nova configuração manualmente ou automaticamente. Para obter mais informações, consulte Aplicando configuração com estado a partir de configurações por instância .
A tabela a seguir mostra os níveis de interrupção necessários para aplicar diferentes atualizações de configuração por instância a uma VM:
Atualização de configuração por instância | Interrupção na VM necessária para aplicação |
---|---|
Configure um disco, definido pelo modelo de instância, para ter estado (adicionado à configuração por instância) | ATUALIZAR |
Configure um disco, definido pelo modelo de instância, para ser sem estado (removido da configuração por instância) | ATUALIZAR |
Adicione um disco, não definido pelo modelo de instância, e anexe-o à VM | ATUALIZAR |
Remova um disco, não definido pelo modelo de instância, e desconecte-o da VM | ATUALIZAR |
Adicione um par de valores-chave de metadados | ATUALIZAR |
Remover um par de valores-chave de metadados | ATUALIZAR |
Adicione um disco de inicialização externo, não criado a partir do modelo de instância, e anexe-o à VM | SUBSTITUIR |
Remova um disco de inicialização externo, não criado a partir do modelo de instância, desconecte-o da VM e, em vez disso, crie um disco de inicialização a partir do modelo de instância | SUBSTITUIR |
Defina um endereço IP interno | SUBSTITUIR |
Remover um endereço IP interno | SUBSTITUIR |
Ao aplicar uma configuração atualizada por instância à VM correspondente, o MIG executa as seguintes ações dependendo de quais itens com estado são atualizados:
- Adiciona (ou remove) discos, endereços IP ou metadados ao estado preservado da configuração na instância gerenciada correspondente.
- Anexa (ou desconecta) discos que não são definidos pelo modelo de instância à VM.
- Define (ou remove) pares de valores-chave de metadados específicos da VM.
- Atribui (ou remove) endereços IP especificados à instância de VM.
Depois que uma configuração por instância for aplicada a uma VM gerenciada correspondente, você poderá ver o efeito da atualização no estado preservado da instância em configuration .
Estado preservado de uma instância gerenciada
Quando aplicado, o MIG traduz o modelo de instância e a configuração com estado em um "estado preservado" para cada instância gerenciada .
Você pode visualizar o estado preservado inspecionando uma instância gerenciada.
O MIG mantém esses estados preservados automaticamente e o MIG aplica esse estado de forma automática e assíncrona a cada instância de VM real correspondente no MIG.
O estado preservado descreve quais itens individuais (discos permanentes, endereços IP, metadados) têm estado para uma determinada instância:
O estado preservado gerado com base em uma política com estado é armazenado separadamente do estado preservado gerado com base em uma configuração por instância. O MIG combina ambos ao recriar uma VM, com o estado preservado de uma configuração por instância tendo prioridade.
Estado preservado de acordo com a política estadual
Uma política com estado especifica itens, presentes em todas as instâncias e definidos no modelo de instância do MIG, para preservar individualmente para cada instância de VM em um MIG.
Quando aplicado, o MIG traduz a política com estado em estados preservados específicos da instância ( managedInstances[].preservedStateFromPolicy
). O MIG mantém esses estados preservados automaticamente.
O exemplo a seguir mostra um MIG com duas instâncias de VM que usam um disco com estado definido em uma política com estado que se aplica a todas as instâncias. Não há configurações por instância neste exemplo.
A figura anterior mostra um MIG com duas instâncias:
- O modelo de instância define um disco de inicialização com nome de dispositivo
boot-disk
e um disco com nome de dispositivodata-disk
, para todas as instâncias no MIG. - A política com estado declara
data-disk
como com estado. O disco de inicialização permanece sem estado. Observe que o disco com nome de dispositivo,data-disk
, deve ser e é definido pelo modelo de instância. - Após a aplicação da configuração, o MIG traduz a política com estado em estados preservados específicos da instância para cada instância gerenciada. Os estados preservados instruem o MIG a preservar o disco
data-disk-1
para a instância de VMnode-1
e o discodata-disk-2
para a instâncianode-2
, porque ambos os discos têm o nome do dispositivodata-disk
configurado na política com estado. - Este exemplo não possui configurações por instância.
Estado preservado de acordo com a configuração por instância
Uma configuração por instância especifica itens que devem ser preservados para uma VM específica. Esses itens não precisam ser definidos no modelo de instância do MIG.
Quando aplicado, o MIG traduz cada configuração por instância em um estado preservado ( preservedStateFromConfig
) para a instância correspondente.
O exemplo a seguir mostra um MIG com duas instâncias de VM para as quais metadados e discos com estado são definidos em configurações por instância (PICs) para cada instância. Não há política estatal neste exemplo.
Na figura anterior:
- O modelo de instância define um disco de inicialização com nome de dispositivo
boot-disk
para todas as instâncias no MIG. O disco de inicialização não tem estado para todas as VMs no MIG. - As configurações por instância definem os estados a serem preservados para duas instâncias no MIG:
node-1
enode-2
.- Para a instância
node-1
, a configuração por instância define um discomy-legacy-1
com nome de dispositivolegacy-disk
e metadadosnode-id:xyz273
. - Para a instância
node-2
, a configuração por instância define um discomy-logs-1
com nome de dispositivologs-disk
e metadadosnode-id:pqr851
.
- Para a instância
- Após a aplicação da configuração, o MIG traduz automaticamente as configurações por instância em estados preservados para cada instância gerenciada. Os estados preservados instruem o MIG a anexar e preservar o seguinte:
- Disco permanente
my-legacy-1
e metadadosnode-id:xyz273
para VMnode-1
- Disco permanente
my-logs-1
e metadadosnode-id:pqr851
para VMnode-2
- Disco permanente
- Este exemplo não tem política estatal.
Observe que os discos e metadados no estado preservado das configurações por instância não são definidos pelo modelo de instância neste exemplo; em vez disso, eles são definidos apenas pelas configurações por instância. Isso ocorre porque a configuração especificada em uma configuração por instância é específica para uma VM específica, o que significa que ela não precisa estar presente no modelo de instância.
As configurações por instância têm prioridade sobre a política com estado e o modelo de instância
Você pode configurar uma política com estado e uma ou mais configurações por instância em um MIG. Por exemplo, em uma política com estado, você pode definir discos com estado que estão presentes em todas as instâncias e, em configurações por instância, você pode definir metadados específicos da instância.
A configuração por instância de uma instância gerenciada tem prioridade sobre configurações conflitantes no modelo de instância ou em uma política com estado.
Se você aplicar uma configuração por instância para adicionar um disco ou uma interface de rede que já esteja definida em uma política com estado, o MIG armazenará a configuração com estado desse disco ou interface de rede no estado preservado da instância gerenciada a partir da configuração por instância ( preservedStateFromConfig
) e removerá as entradas conflitantes de seu estado preservado da política (preservedStateFromPolicy). O MIG deverá atualizar a VM se o novo estado preservado for diferente do anterior. A atualização pode resultar em alteração de metadados, alteração de endereço IP externo ou troca de disco para separar o disco da última configuração de estado preservado e anexar o disco especificado na nova configuração de estado preservado.
No exemplo a seguir, a configuração por instância para a instância de VM node-1
é redefinida:
- O estado preservado do disco com nome de dispositivo
logs-disk
, originalmente definido na política com estado - O valor da chave de metadados
logmonth
, originalmente definido no modelo de instância.
Na figura anterior:
- O modelo de instância define:
- Três discos para todas as instâncias no MIG, com nomes de dispositivos
boot-disk
,data-disk
,logs-disk
. - Metadados comuns a todas as instâncias:
logmonth:jan
.
- Três discos para todas as instâncias no MIG, com nomes de dispositivos
- A política com estado declara que os discos com nomes de dispositivos
data-disk
elogs-disk
têm estado; o disco de inicialização permanece sem estado. - Uma configuração por instância para a instância
node-1
redefine:- Configuração com estado para um disco com nome de dispositivo
logs-disk
: instrui o MIG a anexar o discopd-logs-feb
aonode-1
sob o nome do dispositivologs-disk
. - Metadados, definidos no modelo de instância, com valor-chave
logmonth:jan
: instrui o MIG a definir o valorlogmonth:feb
comonode-1
.
- Configuração com estado para um disco com nome de dispositivo
- Depois de aplicar a configuração, o MIG traduz automaticamente a política com estado e a configuração por instância em um estado preservado específico da instância, armazenado na instância gerenciada.
- O estado preservado da política instrui o MIG a preservar o disco
data-disk-1
para a VMnode-1
. Observe que o estado preservado da política não inclui configuração com estado para o disco com nome de dispositivologs-disk
porque essa configuração é substituída pela configuração paralogs-disk
na configuração por instância. - O estado preservado da configuração instrui o MIG a anexar e preservar o disco persistente
logs-disk
e a definir e preservar os metadadoslogmonth:feb
para a instância de VMnode-1
. Observe que o estado preservado da configuração substitui a configuração dologs-disk
da política com estado e substitui os metadadoslogmonth:jan
do modelo de instância.
- O estado preservado da política instrui o MIG a preservar o disco
Como a remoção de um recurso de uma política com estado afeta o estado preservado
Se você remover uma configuração de recurso de sua política com estado, o MIG removerá automaticamente o preservedStateFromPolicy
correspondente para todas as instâncias gerenciadas. Os recursos de computação permanecem anexados às instâncias, mas não têm mais estado.
No exemplo a seguir, a remoção de um disco da política com estado leva à remoção desse disco dos estados preservados da política em todas as VMs gerenciadas. Esses discos permanecem anexados às suas VMs, mas não têm mais estado e podem ser excluídos e recriados na próxima recriação da VM.
Se o mesmo item, por exemplo, um disco persistente com estado, estiver presente na política com estado e em uma configuração por instância, e você remover sua configuração com estado somente da política com estado, o MIG não o removerá da configuração por instância. Para a VM correspondente, o recurso configurado permanece com estado.
No exemplo a seguir, a remoção do disco da política com estado não leva à remoção do disco da configuração por instância. O disco permanece com estado porque ainda faz parte do estado preservado da configuração.
Como a remoção de itens de configurações por instância afeta o estado preservado
Se você remover a configuração com estado de uma configuração por instância e aplicar a alteração, o MIG removerá automaticamente a configuração com estado do estado preservado da configuração ( preservedStateFromConfig
) na instância gerenciada correspondente. Os recursos de computação que não fazem mais parte de nenhum estado preservado tornam-se sem estado.
Como a remoção da configuração de discos com estado das configurações por instância afeta o estado preservado
Se você remover um disco com estado de uma configuração por instância e aplicar a alteração à instância de VM associada, o MIG fará o seguinte:
- A configuração do disco é removida do estado preservado da instância em configuration .
- Se um disco com o mesmo nome de dispositivo for definido no modelo de instância, mas não configurado em uma política com estado, o disco permanecerá anexado à VM específica. No entanto, o disco se torna sem estado para a VM específica e pode ser recriado de acordo com a configuração do modelo de instância no próximo evento de recriação, recuperação automática ou atualização da VM.
- Se um disco com o mesmo nome de dispositivo não estiver definido no modelo de instância, ele será automaticamente desanexado da VM imediatamente após a aplicação da configuração atualizada por instância à VM associada, independentemente de sua configuração de exclusão automática.
- Se um disco com o mesmo nome de dispositivo for configurado numa política com estado, então a sua configuração de política com estado é traduzida para o estado preservado da política para a instância gerida em questão, e o disco permanece com estado.
No exemplo a seguir, a remoção de um disco azul e um disco verde da configuração por instância do node-1
leva à remoção de ambos os discos do estado preservado da instância gerenciada do node-1
da configuração.
- O disco azul permanece anexado à instância de VM
node-1
, mas agora não tem estado e pode ser recriado na próxima recriação de VM de acordo com a configuração do modelo de instância. - O disco verde é desanexado da instância de VM
node-1
porque o modelo de instância não define um disco com o mesmo nome de dispositivo.
Como a remoção de metadados com estado de configurações por instância afeta o estado preservado
A remoção de metadados com estado de uma configuração por instância e a aplicação da alteração fazem com que o MIG remova imediatamente esses metadados com estado do estado preservado da instância gerenciada correspondente:
- Se você definiu metadados com a mesma chave no modelo de instância, o MIG aplicará imediatamente o valor do modelo de instância à instância.
- Se os metadados com a mesma chave não estiverem definidos no modelo de instância, o MIG removerá imediatamente o valor da chave da instância.
No exemplo a seguir, a remoção dos metadados mode:dev
e id:xyz273
da configuração por instância de node-1
leva à remoção automática de ambos os pares de valores-chave do estado preservado da instância gerenciada node-1
da configuração.
-
mode:dev
é substituído pelomode:test
do modelo de instância na VM. -
id:xyz273
é removido da VM imediatamente porque o modelo de instância não possui metadados com o mesmoid
de chave para substituí-lo.
Como a remoção da configuração IP com estado das configurações por instância afeta o estado preservado
A remoção da configuração IP interna da configuração por instância torna o endereço IP desta VM sem estado. Nenhuma alteração automatizada é realizada nesta VM, mas o endereço IP pode mudar depois que a VM for recriada, atualizada ou reparada automaticamente.
Fallback para política estatal
Se você remover a configuração com estado de um recurso de uma configuração por instância e tiver configurado o mesmo recurso na política com estado, o recurso permanecerá com estado de acordo com a política com estado.
O MIG remove automaticamente a configuração com estado do item do preservedStateFromConfig
e a adiciona ao preservedStateFromPolicy
para a instância gerenciada correspondente.
No exemplo a seguir, a remoção de um disco da configuração por instância de node-1
não leva à remoção do disco da política com estado. O disco permanece com estado de acordo com a política com estado:
- O MIG remove automaticamente o disco do
preserveStateFromConfig
para a instância gerenciadanode-1
porque o disco não faz mais parte de sua configuração por instância. - O MIG adiciona automaticamente o disco ao
preserveStateFromPolicy
para a instância gerenciadanode-1
porque a configuração da política com estado ainda está em vigor e não está mais em conflito com a configuraçãonode-1
por instância.
Opinião
Queremos saber mais sobre seus casos de uso, desafios e feedback sobre MIGs com estado. Compartilhe seus comentários com nossa equipe em mig-discuss@google.com .
O que vem a seguir
- Saiba como diferentes configurações e ações MIG afetam o estado preservado .
- Para obter informações sobre como oferecer suporte a cargas de trabalho com estado preservando nomes de instâncias, discos permanentes e metadados em instâncias gerenciadas, consulte Configuração de MIGs com estado .
- Saiba mais sobre quando usar MIGs com estado .
- Aprenda como migrar uma carga de trabalho existente para um MIG com estado .
- Saiba mais sobre MIGs .
- Trabalhe com instâncias gerenciadas .