Um grupo gerenciado de instâncias (MIG, na sigla em inglês) 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.
Nesta página, você verá como MIGs com estado funcionam. Consulte Como configurar MIGs com estado para saber como realizar esse processo.
Visão geral de como funcionam os MIGs com estado
Um MIG é considerado com estado se você tiver criado uma configuração com estado.
Para criar uma configuração com estado, defina uma política com estado não vazio e/ou uma ou mais configurações não vazias por instância:
- Uma política com estado define os itens que você quer preservar em todas as instâncias no MIG.
- Uma configuração por instância define os itens a serem preservados em 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 às instâncias novas e atuais.
- Ao criar ou atualizar configurações por instância, é possível aplicar a nova configuração de maneira manual ou automática.
Depois que a configuração com estado (seja a política com estado e/ou as configurações por instância) for aplicada, verifique-a inspecionando o estado preservado de cada instância gerenciada.
Alterações subsequentes na configuração ou no tamanho com estado do 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 às instâncias gerenciadas
A 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 a configuração de política com estado às instâncias novas e atuais.
- Configurações por instância: ao criar ou atualizar configurações por instância, é possível aplicar a nova configuração de maneira manual ou automática.
Como as atualizações de política com estado são aplicadas às instâncias
Ao criar ou atualizar uma política com estado (você adiciona ou remove um disco com estado, por exemplo), o MIG aplica a configuração da política com estado a todas as instâncias gerenciadas no grupo de maneira automática e assíncrona. Um MIG também aplica automaticamente sua configuração de política com estado às novas instâncias durante a criação delas, por exemplo, quando o tamanho do MIG é aumentado ou quando você cria instâncias no MIG manualmente.
Depois que a configuração for aplicada, será possível ver o efeito da atualização no estado preservado da política de cada instância gerenciada.
As atualizações de uma política com estado não interrompem a execução de VMs.
Ao atualizar uma política com estado para adicionar um disco com estado, o MIG atualiza cada recurso de VM, alterando o valor da sinalização autoDelete
do disco (instances.disks[].autoDelete
):
- O MIG define
autoDelete
comoFALSE
para discos configurados como "com estado". Isso impede 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
) de todos os discos sem estado.
Alterar o valor da sinalização 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, é possível aplicar a nova configuração de maneira manual ou automática. Para mais informações, consulte Como aplicar a configuração com estado das 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 da configuração por instância | Interrupção na VM necessária para a aplicação |
---|---|
Configurar um disco, definido pelo modelo de instância, para ser com estado. Ele é adicionado à configuração por instância. | ATUALIZAR |
Configurar um disco, definido pelo modelo de instância, para ficar sem estado. Ele é removido da configuração por instância. | ATUALIZAR |
Adicionar um disco, não definido pelo modelo de instância, e anexá-lo à VM. | ATUALIZAR |
Excluir um disco, não definido pelo modelo de instância, e removê-lo da VM. | ATUALIZAR |
Adicionar um par de chave-valor de metadados | ATUALIZAR |
Remover um par de chave-valor de metadados | ATUALIZAR |
Adiciona um disco de inicialização externo, não criado do modelo de instância, e o anexa à VM. | SUBSTITUIR |
Remover um disco de inicialização externo, não criado do modelo de instância, removê-lo da VM e criar um disco de inicialização do modelo de instância. | REPLACE |
Definir um endereço IP interno | REPLACE |
Remover um endereço IP interno | REPLACE |
Ao aplicar uma configuração por instância atualizada à VM correspondente, o MIG realizará as seguintes ações, dependendo de quais itens com estado forem atualizados:
- Adiciona (ou remove) discos, endereços IP ou metadados ao estado preservado da configuração na instância gerenciada correspondente.
- Conecta (ou desconecta) à VM os discos que não são definidos pelo modelo de instância.
- Define (ou remove) pares de chave-valor 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 é aplicada a uma VM gerenciada correspondente, é possível ver o efeito da atualização no estado preservado da configuração da instância.
Estado preservado de uma instância gerenciada
Quando aplicado, o MIG converte o modelo de instância e a configuração com estado em um "estado preservado" para cada instância gerenciada.
Para ver o estado preservado, inspecione uma instância gerenciada.
O MIG mantém esses estados preservados automaticamente, além de aplicar esse estado automaticamente e de maneira 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 os dois ao recriar uma VM, dando prioridade ao estado preservado de uma configuração por instância.
Estado preservado de acordo com a política com estado
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 cada instância de VM em um MIG.
Quando aplicada, o MIG converte 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 cada instância. 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 o nome do dispositivo,
boot-disk
, e um disco com o nome do dispositivo,data-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. O disco com o nome do dispositivo,data-disk
, precisa ser um modelo de instância e definido por ele. - Depois que a configuração é aplicada, o MIG converte 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
da instância de VMnode-1
e o discodata-disk-2
da instâncianode-2
, porque os dois discos têm o nome de dispositivodata-disk
configurado na política com estado. - Este exemplo não tem configurações por instância.
Estado preservado de acordo com a configuração por instância
A configuração por instância determina itens que precisam ser preservados em uma determinada VM. Esses itens não precisam ser definidos no modelo de instância do MIG.
Quando aplicado, o MIG converte 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 com estado neste exemplo.
Na figura anterior, observa-se o seguinte:
- O modelo de instância define um disco de inicialização com o nome de dispositivo
boot-disk
para todas as instâncias no MIG. O disco de inicialização é sem 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
node-1
, a configuração por instância define um discomy-legacy-1
com o nome do dispositivolegacy-disk
e os metadadosnode-id:xyz273
. - Para
node-2
, a configuração por instância define um discomy-logs-1
com o nome do dispositivologs-disk
e os metadadosnode-id:pqr851
.
- Para
- Depois que a configuração é aplicada, o MIG converte 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 a VMnode-1
- Disco permanente
my-logs-1
e metadadosnode-id:pqr851
para a VMnode-2
- Disco permanente
- Este exemplo não tem uma política com estado.
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 determinada em uma configuração por instância é específica a uma determinada VM, 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
É possível 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, é possível definir discos com estado que estão presentes em todas as instâncias e, em configurações por instância, definir metadados específicos da instância.
A configuração por instância de uma instância gerenciada tem prioridade sobre a configuração conflitante 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 definido em uma política com estado, o MIG armazenará a configuração
com estado para esse disco ou interface de rede no estado preservado
da instância gerenciada da configuração por instância (preservedStateFromConfig
) e
removerá as entradas conflitantes do
estado preservado da política
(preserveStateFromPolicy). O MIG precisa
atualizar
a VM se o novo estado preservado for diferente do anterior. A
atualização pode resultar na alteração de metadados, na alteração de endereço IP externo ou em uma troca
de disco para removê-lo da última configuração de estado preservada e, em seguida, anexá-lo
nesta nova configuração de estado.
Neste exemplo, a configuração por instância da instância de VM node-1
redefine:
- O estado preservado do disco com o nome do 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, observa-se o seguinte:
- O modelo de instância define:
- Três discos para todas as instâncias no MIG, com nomes de dispositivos
boot-disk
,data-disk
elogs-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 dispositivo
data-disk
elogs-disk
têm estado, mas o disco de inicialização permanece sem estado. - Uma configuração por instância da instância
node-1
redefine:- A configuração com estado para um disco com nome de dispositivo
logs-disk
: isso instrui o MIG a anexar o discopd-logs-feb
anode-1
no nome do dispositivologs-disk
. - Os metadados, definidos no modelo de instância, com o valor da chave
logmonth:jan
: isso instrui o MIG a definir o valorlogmonth:feb
comonode-1
.
- A configuração com estado para um disco com nome de dispositivo
- Depois que você aplica
a configuração, o MIG converte 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
. O estado preservado da política não inclui a configuração com estado para o disco com nome do 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 permanente
logs-disk
e a definir e preservar os metadadoslogmonth:feb
da instância de VMnode-1
. Observe que o estado preservado da configuração substitui a configuração delogs-disk
da política com estado e substitui os metadadoslogmonth:jan
de 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 da política com estado, o MIG removerá automaticamente o preservedStateFromPolicy
correspondente de todas as instâncias gerenciadas. Os recursos de computação permanecem anexados às instâncias, mas agora estão sem estado.
No exemplo a seguir, remover 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 vinculados às VMs deles, mas agora estão sem estado e podem ser excluídos e recriados na próxima recriação de VM.
Se o mesmo item, por exemplo, um disco permanente com estado, estiver presente na política com estado e em uma configuração por instância, e você remover a 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, remover o 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 na configuração.
Como a remoção de itens das 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á a configuração com estado automaticamente do
estado preservado da configuração (preservedStateFromConfig
) na instância gerenciada
correspondente. Os recursos de computação que não fazem mais parte de qualquer estado preservado se tornam 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 será removida do estado preservado da configuração da instância.
- Se um disco com o mesmo nome de dispositivo for definido no modelo de instância, mas não estiver configurado em uma política com estado, o disco continuará anexado à VM determinada. No entanto, o disco se torna sem estado para a VM especificada 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 removido da VM assim que a configuração por instância atualizada for aplicada à VM associada, estando ou não configurado para exclusão automática.
- Se um disco com o mesmo nome de dispositivo estiver configurado em uma política com estado, a configuração da política com estado será convertida no estado preservado da política para a instância gerenciada fornecida e o disco permanecerá com estado.
No exemplo a seguir, a remoção de um disco azul e verde da configuração por instância de
node-1
leva à remoção dos dois discos do estado preservado da instância gerenciada
node-1
da configuração.
- O disco azul permanece anexado à instância de VM
node-1
, mas agora está sem 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 é removido 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
Remover metadados com estado de uma configuração por instância e aplicar a alteração faz com que o MIG remova imediatamente esses metadados do estado preservado da instância gerenciada correspondente:
- Se você tiver definido 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, remover os metadados
mode:dev
e id:xyz273
da configuração por instância de node-1
leva à remoção automática de ambos pares de
chave-valor do estado preservado da instância gerenciada node-1
a partir 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 tem metadados com a mesma chaveid
para substituí-lo.
Como a remoção da configuração de discos com estado das configurações por instância afeta o estado preservado
Remover a configuração do IP interno da configuração por instância torna o endereço IP dessa VM sem estado. Nenhuma alteração automatizada é executada nessa VM, mas o endereço IP pode ser alterado depois que a VM for recriada, atualizada ou recuperada automaticamente.
Fallback para política com estado
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 de preservedStateFromConfig
e a adiciona ao preservedStateFromPolicy
da instância gerenciada correspondente.
No exemplo a seguir, remover 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 de
preserveStateFromConfig
da instância gerenciadanode-1
porque o disco não faz mais parte da configuração por instância. - O MIG adiciona automaticamente o disco ao
preserveStateFromPolicy
da instância gerenciadanode-1
porque a configuração de política com estado ainda está em vigor e não está mais em conflito com a configuração por instâncianode-1
.
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
- Saiba como diferentes configurações e ações do MIG afetam o estado preservado.
- Para 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 Como configurar MIGs com estado.
- Saiba mais sobre quando usar MIGs com estado.
- Saiba como migrar uma carga de trabalho para um MIG com estado.
- Saiba mais sobre MIGs.
- Trabalhe com instâncias gerenciadas.