Um grupo de instâncias geridas com estado (GIG com estado) preserva o estado único de cada instância de máquina virtual (VM), incluindo o nome da VM, os discos persistentes anexados, os endereços IP e/ou os metadados, no reinício, na recriação, na autorreparação ou na atualização da máquina.
Esta página descreve como funcionam os MIGs com estado. Consulte o artigo Configurar MIGs com estado para saber como configurar um MIG com estado.
Vista geral do funcionamento dos MIGs com estado
Um MIG é considerado com estado se tiver criado uma configuração com estado.
Cria uma configuração com estado ao definir 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 quer preservar para todas as instâncias no seu MIG.
- Uma configuração por instância define os itens a preservar para uma instância de VM específica.
A configuração entra em vigor depois de a aplicar:
- Um MIG aplica automaticamente a configuração da política com estado às instâncias novas e existentes.
- Quando cria ou atualiza configurações por instância, pode optar por aplicar a nova configuração manualmente ou automaticamente.
Depois de aplicar a configuração com estado (política com estado e/ou configurações por instância), pode validá-la inspecionando o estado preservado de cada instância gerida.
As alterações subsequentes à configuração com estado ou ao tamanho do MIG (por exemplo, diminuir o tamanho do MIG ou eliminar ou abandonar instâncias do MIG) podem afetar os estados preservados das instâncias.
Como a configuração com estado é aplicada a instâncias geridas
A configuração com estado é eficaz depois de ser aplicada por si ou pelo MIG. 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 da política com estado às instâncias novas e existentes.
- Configurações por instância: quando cria ou atualiza configurações por instância, pode escolher se quer aplicar a nova configuração manualmente ou se quer que seja aplicada automaticamente.
Como as atualizações de políticas com estado são aplicadas às instâncias
Quando cria ou atualiza uma política com estado, por exemplo, adiciona ou remove um disco com estado, o GIG aplica a configuração da política com estado a todas as instâncias geridas no grupo de forma automática e assíncrona. Um MIG também aplica automaticamente a configuração da política com estado às novas instâncias durante a respetiva criação, por exemplo, quando o tamanho de um MIG é aumentado ou quando cria instâncias no MIG manualmente.
Depois de aplicar a configuração, pode ver o efeito da atualização no estado preservado da política de cada instância gerida.
As atualizações a uma política com estado não interrompem as VMs em execução.
Quando atualiza uma política com estado para adicionar um disco com estado, o MIG atualiza cada recurso de VM, alterando o valor da flag autoDelete
do disco (instances.disks[].autoDelete
):
- O MIG define
autoDelete
comoFALSE
para discos que configurar como com estado. Isto impede a eliminação desse disco na recriação da instância através da recuperação automática, da atualização ou da 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.
A alteração do valor do sinalizador autoDelete
não interrompe uma MV em execução.
Como as atualizações de configuração por instância são aplicadas às instâncias
Quando cria ou atualiza uma configuração por instância, pode escolher se aplica a nova configuração manual ou automaticamente. Para mais informações, consulte o artigo Aplicação da configuração com estado a partir de configurações por instância.
A tabela seguinte 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 da VM necessária para a aplicação |
---|---|
Configurar um disco, definido pelo modelo de instância, para ser com estado (adicionado à configuração por instância) | ATUALIZAR |
Configurar 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 desanexe-o da VM | ATUALIZAR |
Adicione um par de chave-valor de metadados | ATUALIZAR |
Remova um par de chave-valor de metadados | ATUALIZAR |
Adicione um disco de arranque externo, não criado a partir do modelo de instância, e anexe-o à VM | SUBSTITUIR |
Remova um disco de arranque externo que não foi criado a partir do modelo de instância, desanexe-o da VM e crie um disco de arranque a partir do modelo de instância | SUBSTITUIR |
Defina um endereço IP interno | SUBSTITUIR |
Remova um endereço IP interno | SUBSTITUIR |
Quando aplica uma configuração por instância atualizada à VM correspondente, o GIG executa as seguintes ações, consoante os itens com estado que são atualizados:
- Adiciona (ou remove) discos, endereços IP ou metadados ao estado preservado da configuração na instância gerida correspondente.
- Anexa (ou desanexa) discos que não estão definidos pelo modelo de instância à VM.
- Define (ou remove) pares de chave-valor de metadados específicos para a VM.
- Atribui (ou remove) endereços IP especificados à instância de VM.
Depois de uma configuração por instância ser aplicada a uma VM gerida correspondente, pode ver o efeito da atualização no estado preservado a partir da configuração da instância.
Estado preservado de uma instância gerida
Quando é aplicada, o MIG traduz o modelo de instância e a configuração com estado numa "configuração preservada" para cada instância gerida.
Pode ver o estado preservado inspecionando uma instância gerida.
O GIG mantém estes estados preservados automaticamente e aplica este estado de forma automática e assíncrona a cada instância de VM real correspondente no GIG.
O estado preservado descreve os itens individuais (discos persistentes, endereços IP, metadados) que são com estado para uma determinada instância:
O estado preservado gerado com base numa política com estado é armazenado separadamente do estado preservado gerado com base numa configuração por instância. O MIG combina ambos quando recria uma VM, com o estado preservado de uma configuração por instância a ter prioridade.
Estado preservado de acordo com a política com estado
Uma política com estado especifica os itens, presentes em todas as instâncias e definidos no modelo de instância do GIG, a preservar individualmente para cada instância de VM num GIG.
Quando aplicada, o GIG traduz a política com estado em
estados preservados específicos da instância
(managedInstances[].preservedStateFromPolicy
). O GIG mantém
estes estados preservados automaticamente.
O exemplo seguinte mostra um MIG com duas instâncias de VM que usam um disco com estado definido numa política com estado que se aplica a todas as instâncias. Neste exemplo, não existem configurações por instância.
A figura anterior mostra um MIG com duas instâncias:
- O modelo de instância define um disco de arranque com o nome do dispositivo
boot-disk
e um disco com o nome do dispositivodata-disk
para todas as instâncias no MIG. - A política com estado declara
data-disk
como com estado. O disco de arranque permanece sem estado. Tenha em atenção que o disco com o nome do dispositivodata-disk
tem de 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 gerida. Os estados preservados indicam ao MIG que preserve 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 tem configurações por instância.
Estado preservado de acordo com a configuração por instância
Uma configuração por instância especifica os itens que têm de ser preservados para uma determinada VM. Estes itens não têm de ser definidos no modelo de instância do MIG.
Quando aplicada, a MIG traduz cada configuração por instância num estado preservado (preservedStateFromConfig
) para a instância correspondente.
O exemplo seguinte mostra um MIG com duas instâncias de VM para as quais os metadados e os discos com estado são definidos em configurações por instância (PICs) para cada instância. Neste exemplo, não existe uma política com estado.
Na figura anterior:
- O modelo de instância define um disco de arranque com o nome do dispositivo
boot-disk
para todas as instâncias no MIG. O disco de arranque não tem estado para todas as VMs no MIG. - As configurações por instância definem os estados a preservar 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 o nome do dispositivolegacy-disk
e metadadosnode-id:xyz273
. - Para a instância
node-2
, a configuração por instância define um discomy-logs-1
com o nome do dispositivologs-disk
e metadadosnode-id:pqr851
.
- Para a instância
- Depois de a configuração ser aplicada, o MIG traduz automaticamente as configurações por instância em estados preservados para cada instância gerida. Os estados preservados indicam ao MIG que anexe e preserve o seguinte:
- Disco persistente
my-legacy-1
e metadadosnode-id:xyz273
para a VMnode-1
- Disco persistente
my-logs-1
e metadadosnode-id:pqr851
para a VMnode-2
- Disco persistente
- Este exemplo não tem uma política com estado.
Tenha em atenção que os discos e os 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, são definidos apenas pelas configurações por instância. Isto deve-se ao facto de a configuração especificada numa configuração por instância ser específica de uma determinada VM, o que significa que não tem de 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
Pode configurar uma política com estado e uma ou mais configurações por instância num MIG. Por exemplo, numa política com estado, pode definir discos com estado que estão presentes em todas as instâncias e, nas configurações por instância, pode definir metadados específicos da instância.
A configuração por instância de uma instância gerida tem prioridade sobre a configuração conflituosa no modelo de instância ou numa política com estado.
Se aplicar uma configuração por instância para adicionar um disco ou uma interface de rede que já esteja definida numa política com estado, o MIG armazena a configuração com estado desse disco ou interface de rede no estado preservado da instância gerida (preservedStateFromConfig
) e remove as entradas em conflito do respetivo estado preservado da política (preservedStateFromPolicy). O MIG tem de atualizar a VM se o novo estado preservado for diferente do anterior. A atualização pode resultar numa alteração dos metadados, numa alteração do endereço IP externo ou numa troca de disco para desanexar o disco da configuração do estado preservado mais recente e anexar o disco especificado na nova configuração do estado preservado.
No exemplo seguinte, a configuração por instância para a instância de VM node-1
redefine:
- O estado preservado para o disco com o nome do dispositivo
logs-disk
, definido originalmente 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 os nomes dos 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 os nomes dos dispositivos
- A política com estado declara que os discos com os nomes de dispositivos
data-disk
elogs-disk
têm estado; o disco de arranque permanece sem estado. - Uma configuração por instância para a instância
node-1
redefine:- Configuração com estado para um disco com o nome do dispositivo
logs-disk
: isto indica ao MIG para anexar o discopd-logs-feb
anode-1
com o nome do dispositivologs-disk
. - Metadados, definidos no modelo de instância, com o valor da chave
logmonth:jan
: isto indica ao MIG para definir o valorlogmonth:feb
comonode-1
.
- Configuração com estado para um disco com o nome do dispositivo
- Depois de aplicar,
a configuração, o MIG traduz automaticamente a política com estado e a configuração por instância num estado preservado específico da instância, armazenado na instância gerida.
- O estado preservado da política indica ao GIG que preserve o disco
data-disk-1
para a VMnode-1
. Tenha em atenção que o estado preservado da política não inclui a configuração com estado para o disco com o nome do dispositivologs-disk
, porque esta configuração é substituída pela configuração delogs-disk
na configuração por instância. - O estado preservado da configuração indica ao GIG que anexe e
preserve o disco persistente
logs-disk
e que defina e preserve os metadadoslogmonth:feb
para a instância da VMnode-1
. Tenha em atenção que o estado preservado da configuração substitui a configuração delogs-disk
da política com estado e substitui os metadados delogmonth:jan
do modelo de instância.
- O estado preservado da política indica ao GIG que preserve o disco
Como a remoção de um recurso de uma política com estado afeta o estado preservado
Se remover uma configuração de recursos da sua política com estado, o MIG remove automaticamente o preservedStateFromPolicy
correspondente para todas as instâncias geridas. Os recursos de computação permanecem associados às instâncias, mas deixam de ter estado.
No exemplo seguinte, 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 geridas. Esses discos permanecem associados às respetivas VMs, mas deixam de ter estado e podem ser eliminados 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 numa configuração por instância, e remover a respetiva configuração com estado apenas da política com estado, o MIG não o remove da configuração por instância. Para a VM correspondente, o recurso configurado permanece com estado.
No exemplo seguinte, 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 continua a fazer parte do estado preservado da configuração.
Como a remoção de itens das configurações por instância afeta o estado preservado
Se remover a configuração com estado de uma configuração por instância e aplicar a alteração, o GIG remove automaticamente a configuração com estado do estado preservado da configuração (preservedStateFromConfig
) na instância gerida correspondente. Os recursos de computação que já não fazem 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 remover um disco com estado de uma configuração por instância e aplicar a alteração à instância de VM associada, o MIG faz o seguinte:
- A configuração do disco é removida do estado preservado da configuração da instância.
- Se um disco com o mesmo nome do dispositivo estiver definido no modelo de instância, mas não estiver configurado numa política com estado, o disco permanece associado à VM especificada. No entanto, o disco torna-se 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, autocura ou atualização da VM.
- Se um disco com o mesmo nome do dispositivo não estiver definido no modelo de instância, é automaticamente separado da VM imediatamente após a aplicação da configuração por instância atualizada à VM associada, independentemente da respetiva configuração de eliminação automática.
- Se um disco com o mesmo nome do dispositivo estiver configurado numa política com estado, a respetiva configuração de política com estado é traduzida no estado preservado da política para a instância gerida especificada, e o disco permanece com estado.
No exemplo seguinte, a remoção de um disco azul e um disco verde da configuração por instância de node-1
leva à remoção de ambos os discos do estado preservado da instância gerida de node-1
da configuração.
- O disco azul permanece associado à instância de VM
node-1
, mas agora é sem estado e pode ser recriado na próxima recriação da VM de acordo com a configuração do modelo de instância. - O disco verde está separado da instância de VM
node-1
porque o modelo de instância não define um disco com o mesmo nome do dispositivo.
Como a remoção de metadados com estado das 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 faz com que o MIG remova imediatamente esses metadados com estado do estado preservado da instância gerida correspondente:
- Se tiver definido metadados com a mesma chave no modelo de instância, o MIG aplica 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 remove imediatamente o valor da chave da instância.
No exemplo seguinte, 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 chave-valor do estado preservado da instância gerida de node-1
da configuração.
mode:dev
é substituído pelomode:test
do modelo de instância na VM.id:xyz273
é removido imediatamente da VM porque o modelo de instância não tem metadados com a mesma chaveid
para os substituir.
Como a remoção da configuração de IP com estado das configurações por instância afeta o estado preservado
A remoção da configuração de IP interno da configuração por instância torna o endereço IP desta VM sem estado. Não são feitas alterações automáticas nesta VM, mas o endereço IP pode mudar depois de a VM ser recriada, atualizada ou reparada automaticamente.
Recorra à política com estado
Se 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 permanece com estado de acordo com a política com estado.
O MIG remove automaticamente a configuração com estado do item do
preservedStateFromConfig
e adiciona-a ao
preservedStateFromPolicy
para a instância gerida correspondente.
No exemplo seguinte, 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 da instância gerida
preserveStateFromConfig
para a instância geridanode-1
porque o disco já não faz parte da respetiva configuração por instância. - O MIG adiciona automaticamente o disco à
preserveStateFromPolicy
para a instância geridanode-1
porque a configuração da política com estado ainda está em vigor e já não está em conflito com a configuraçãonode-1
por instância.
Feedback
Queremos saber mais sobre os seus exemplos de utilização, desafios e feedback acerca dos MIGs com estado. Partilhe o seu feedback com a nossa equipa através do endereço de email mig-discuss@google.com.
O que se segue?
- Saiba como as diferentes configurações e ações de MIG afetam o estado preservado.
- Para obter informações sobre como suportar cargas de trabalho com estado, preservando os nomes das instâncias, os discos persistentes e os metadados em instâncias geridas, consulte o artigo Configurar MIGs com estado.
- Saiba quando usar MIGs com estado.
- Saiba como migrar uma carga de trabalho existente para um MIG com estado.
- Saiba mais acerca dos MIGs.
- Trabalhe com instâncias geridas.