Configurar discos permanentes para que tenham estado permite que você se beneficie da recuperação automática de instâncias de VM e das atualizações automatizadas, preservando o estado dos discos.
Você pode configurar qualquer disco definido no modelo de instância para ter estado para todas as instâncias em um grupo de instâncias gerenciadas (MIG) adicionando o nome do dispositivo desse disco à política com estado do MIG.
Você também pode configurar discos permanentes com estado individualmente para instâncias em um MIG definindo configurações por instância ; esses discos não precisam ser definidos no modelo de instância.
Antes de começar
- Revise quando usar MIGs com estado e como funcionam os MIGs com estado.
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Você não poderá usar o escalonamento automático se o seu MIG tiver configuração com estado.
- Se quiser usar atualizações contínuas automatizadas, você deverá definir o método de substituição como
RECREATE
. - Para MIGs regionais com estado, você deve desabilitar a redistribuição proativa (definir o tipo de redistribuição como
NONE
) para evitar a exclusão de instâncias com estado por meio da redistribuição automática entre zonas. Se você usar uma configuração de todas as instâncias para substituir as propriedades do modelo de instância, não poderá especificar essas propriedades em nenhuma configuração por instância e ao mesmo tempo na configuração de todas as instâncias do grupo.
Um MIG regional com estado não orquestra automaticamente o failover entre zonas. Ao usar um MIG regional, você pode tornar seu aplicativo com estado resiliente a falhas zonais, implantando réplicas redundantes em diversas zonas e contando com a funcionalidade de replicação de dados do seu aplicativo.
- Você pode reparar um disco de inicialização corrompido recriando-o a partir de sua imagem original. A recuperação automática faz esses reparos automaticamente.
- Você pode atualizar um disco de inicialização para a imagem mais recente com novas versões e patches de segurança.
No console do Google Cloud, acesse a página Grupos de instâncias .
Selecione seu projeto e clique em Continuar .
Clique em Criar grupo de instâncias .
Selecione Novo grupo gerenciado de instâncias (com estado) .
Especifique um nome para o grupo de instâncias.
Selecione um modelo de instância . Se nenhum modelo estiver disponível, crie um modelo de instância .
Em Número de instâncias , especifique o número de instâncias do grupo de instâncias.
A seção Configuração com estado exibe os discos especificados no modelo de instância. Clique em um disco para editar sua configuração com estado.
- Em Stateful , selecione Sim .
Na lista suspensa Na exclusão permanente da instância , selecione a ação a ser executada no disco com estado quando a instância da VM for excluída. As opções disponíveis são:
- Desanexar disco: (Padrão.) Nunca exclua o disco; desconecte o disco quando a VM for excluída.
- Excluir disco: exclua o disco com estado quando sua VM for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância gerenciada for excluída manualmente ou quando o tamanho do grupo for reduzido.
Depois de concluir a configuração com estado, clique em Concluído .
Clique em Criar .
-
INSTANCE_GROUP_NAME
: o nome do grupo de instâncias gerenciadas a ser criado. -
INSTANCE_TEMPLATE
: o nome do modelo de instância a ser usado ao criar instâncias. -
SIZE
: o número inicial de VMs necessárias neste grupo. -
DEVICE_NAME
: o nome do dispositivo de um disco especificado no modelo de instância. DELETE_RULE
: um valor que prescreve o que deve acontecer a um disco com estado quando uma VM é excluída. As opções disponíveis são:-
never
: (Padrão.) Nunca exclua o disco; em vez disso, desconecte o disco quando sua VM for excluída. -
on-permanent-instance-deletion
: exclua o disco quando sua instância de VM for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância gerenciada for excluída manualmente ou quando o tamanho do grupo diminuir.
Independentemente do valor da regra de exclusão, os discos com estado são sempre preservados nas operações de recuperação automática, atualização e recriação da VM.
-
Crie um modelo de instância com um disco de inicialização sem estado baseado na imagem
img-example-db-v01
, que tem um sistema operacional e banco de dados pré-instalados e com um disco de dados com estado:gcloud compute instance-templates create example-database-template-v01 \ --image img-example-db-v01 \ --create-disk device-name=data-disk,mode=rw,image=empty10GBext4
O sinalizador
--create-disk
instrui o MIG a:- Crie um novo disco de 10 GB para cada instância de VM a partir de uma imagem ext4 vazia, preparada previamente.
- Anexe o disco à sua VM no modo de leitura/gravação usando o nome do dispositivo
data-disk
.
Crie um MIG a partir do modelo de instância e defina o disco de dados como com estado:
gcloud compute instance-groups managed create example-database-group \ --template example-database-template-v01 \ --base-instance-name shard \ --size 12 \ --stateful-disk device-name=data-disk,auto-delete=on-permanent-instance-deletion
O nome do dispositivo
data-disk
é obtido do modelo de instância. O disco de dados é configurado para ser excluído junto com a instância da VM quando a VM é excluída permanentemente (devido à exclusão manual da instância ou à diminuição manual do tamanho do grupo). O disco de dados é preservado na recuperação automática, nas atualizações e na recriação de VM.Verifique se o disco de dados está configurado na política com estado:
gcloud compute instance-groups managed describe example-database-group baseInstanceName: shard ... name: example-database-group ... statefulPolicy: preservedState: disks: data-disk: autoDelete: ON_PERMANENT_INSTANCE_DELETION ...
Você pode ver que a política com estado declara discos com nome de dispositivo
data-disk
como com estado, com uma regra para excluir tais discos na exclusão permanente da VM.-
PROJECT
: O ID do projeto para a solicitação. -
ZONE
: A zona onde o MIG está localizado (aplica-se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG a ser criado. -
TEMPLATE
: O nome do modelo de instância a ser usado ao criar instâncias. -
SIZE
: O número inicial de instâncias necessárias neste grupo. -
DEVICE_NAME
: o nome do dispositivo de um disco especificado no modelo de instância. DELETE_RULE
: um valor que prescreve o que deve acontecer ao disco com estado quando a instância da VM for excluída. As opções disponíveis são:-
never
: (Padrão.) Nunca exclua o disco; desconecte o disco quando a VM for excluída. -
on_permanent_instance_deletion
: exclua o disco com estado quando sua VM for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância gerenciada for excluída manualmente ou quando o tamanho do grupo diminuir.
-
Crie um modelo de instância com um disco de inicialização sem estado baseado na imagem
img-example-db-v01
, com sistema operacional e banco de dados pré-instalados e com um disco de dados com estado, usando o métodoinstanceTemplates.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates { "name": "example-database-template-v01", "properties": { "machineType":"e2-standard-2", "disks": [ { "boot": true, "deviceName": "boot-disk", "initializeParams": { "sourceImage": "projects/example-project/global/images/mg-example-db-v01" } }, { "deviceName": "data-disk", "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/example-project/global/images/empty10GBext4" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ] } }
O disco de dados no modelo de instância tem o nome de dispositivo
data-disk
e está configurado para ser criado a partir de uma imagem ext4 vazia, preparada previamente e para ser anexada no modo de leitura/gravação.Crie um MIG a partir do modelo de instância e defina o disco de dados como com monitoração de estado usando o método
instanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers { "name": "example-database-group", "baseInstanceName": "shard", "versions": [ { "instanceTemplate": "global/instanceTemplates/example-database-template-v01" } ], "targetSize": 12, "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } }
O MIG cria 12 instâncias, cada uma com um disco com as seguintes propriedades:
- Um nome de dispositivo,
data-disk
, obtido do modelo de instância. - Uma regra de exclusão para excluir o disco de dados quando a VM for excluída (devido à exclusão manual da instância ou à redução manual do tamanho do grupo).
- Uma entrada no estado preservado da política (
preservedStateFromPolicy
) de cada instância gerenciada para que o disco de dados seja preservado na recuperação automática, nas atualizações e na recriação da instância.
- Um nome de dispositivo,
Use o método
instanceGroupManagers.get
para verificar se o disco de dados está configurado na política com estado do novo recursoinstanceGroupManagers
:GET https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-group
{ "name": "example-database-group", "baseInstanceName": "shard", ... "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } ... }
Você pode ver que a política com estado declara discos com nome de dispositivo
data-disk
como com estado com a regra para excluir tais discos na exclusão permanente da instância.- Adicione discos definidos no modelo de instância à política com estado de um MIG existente para declará-los como com estado. Isso marca os discos com o nome de dispositivo fornecido como com monitoração de estado para todas as instâncias existentes e futuras no MIG.
- Atualize a política com estado para alterar a configuração com estado dos discos.
No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome do grupo de instâncias no qual você deseja especificar a configuração com estado para disco.
Clique em Editar para modificar o grupo de instâncias gerenciadas.
Em Configuração com estado , expanda o disco que você deseja tornar com estado.
- Em Stateful , selecione Sim .
Na lista suspensa Na exclusão permanente da instância , selecione a ação a ser executada no disco com estado quando a instância da VM for excluída.
- Desanexar disco: (Padrão.) Nunca exclua o disco; desconecte o disco quando a VM for excluída.
Excluir disco: exclua o disco com estado quando sua VM for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância gerenciada for excluída manualmente ou quando o tamanho do grupo diminuir.
Depois de atualizar a configuração com estado, clique em Concluído .
Clique em Salvar para concluir a atualização.
-
NAME
: o nome do grupo de instâncias gerenciadas a ser atualizado. -
DEVICE_NAME
: o nome do dispositivo de um disco especificado no modelo de instância. DELETE_RULE
: um valor que prescreve o que deve acontecer ao disco com estado quando uma instância de VM é excluída. As opções disponíveis são:-
never
: (Padrão.) Nunca exclua o disco, desconecte o disco quando sua instância for excluída. -
on-permanent-instance-deletion
: exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância gerenciada for excluída manualmente ou quando o tamanho do grupo diminuir.
-
Atualize o MIG para definir o disco de dados como com monitoração de estado usando o seguinte comando:
gcloud compute instance-groups managed update example-database-group \ --stateful-disk device-name=data-disk,auto-delete=never
Como resultado, o MIG aplica as atualizações de configuração de política com estado de forma automática e assíncrona aos discos de dados de todas as instâncias. Os discos de dados agora são preservados na recuperação automática, nas atualizações e na recriação da instância, e os discos de dados são desanexados na exclusão da instância porque a regra
auto-delete
está definida comonever
.Verifique se o disco de dados está configurado na política com estado executando o comando
gcloud compute instance-groups managed describe example-database-group
.-
PROJECT
: O ID do projeto para a solicitação. -
ZONE
: A zona onde o MIG está localizado (aplica-se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG a ser atualizado. -
DEVICE_NAME
: o nome do dispositivo de um disco, especificado no modelo de instância, para o qual você gostaria de atualizar a configuração com estado. DELETE_RULE
: um valor que prescreve o que deve acontecer ao disco com estado quando uma instância de VM é excluída. As opções disponíveis são:-
never
: (Padrão.) Nunca exclua o disco, desconecte o disco quando sua instância for excluída. -
on-permanent-instance-deletion
: exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância for excluída manualmente ou quando o tamanho do grupo diminuir.
-
Corrija o MIG para definir o disco de dados como com monitoração de estado:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-group { "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "NEVER" } } } } }
O MIG aplica essa configuração com estado de forma automática e assíncrona aos discos de dados de todas as instâncias. Os discos de dados serão preservados na recuperação automática, atualizações e recriação de instâncias. Os discos de dados serão desanexados na exclusão da instância porque a regra
autoDelete
está definida comoNEVER
.Verifique se o disco de dados está configurado na política com estado visualizando o recurso
instanceGroupManagers
, retornado pelo métodoinstanceGroupManagers.get
.- Se você reprojetar seu aplicativo para mover o estado do disco.
- Se você configurou o disco para ter estado por engano e gostaria de revertê-lo.
No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome do grupo de instâncias do qual você deseja remover a configuração com estado dos discos.
Clique em Editar para modificar o grupo de instâncias gerenciadas.
Em Configuração com estado , expanda os discos com estado que você deseja tornar sem estado.
- Altere a opção Stateful para No .
- Clique em Concluído .
Depois de fazer as alterações, clique em Salvar .
-
NAME
: O nome do MIG a ser atualizado. -
DEVICE_NAME
: o nome do dispositivo de um disco a ser removido da política com estado e tratado como sem estado. Você pode fornecer um ou vários nomes de dispositivos na lista. -
PROJECT
: O ID do projeto para a solicitação. -
ZONE
: A zona onde o MIG está localizado (aplica-se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG a ser atualizado. -
DEVICE_NAME
: o nome do dispositivo de um disco que você deseja remover da política com estado. Fornecer um valornull
leva à remoção da configuração com estado desse disco. Você pode fornecer um ou vários nomes de dispositivos para remover. - Remova a configuração com estado do disco da política com estado. Isso torna os discos com o nome de dispositivo fornecido sem estado.
- Desanexe os discos das VMs se ainda quiser mantê-los.
- Implemente um novo modelo de instância que não defina mais o disco com o nome de dispositivo fornecido.
- Migre cargas de trabalho existentes (traga os discos existentes) de VMs autônomas para MIGs com estado para se beneficiar da recuperação automática e de atualizações fáceis.
- Restaure backups de discos, configurados individualmente para VMs.
- Anexe temporariamente discos com estado adicionais a uma VM específica para testar, depurar ou copiar dados.
- Crie um modelo de instância com configuração comum para todas as instâncias de VM.
- Desconecte os discos de dados das instâncias autônomas e exclua essas instâncias. Você também pode desanexar discos de inicialização se eles contiverem um estado que deva ser preservado.
- Crie um MIG vazio usando o modelo de instância criado anteriormente.
Crie instâncias no MIG com os nomes apropriados e discos associados da etapa anterior. O MIG responde à sua solicitação com as seguintes ações:
- Cria uma VM a partir do modelo de instância usando o nome de instância fornecido.
- Um MIG regional cria a VM na mesma zona onde o disco está localizado. Se o disco for regional, o MIG regional criará a VM em qualquer uma das zonas de réplica do disco.
- Cria uma configuração por instância com a configuração com estado fornecida para os discos.
- Anexa os discos à nova instância.
- Cria uma VM a partir do modelo de instância usando o nome de instância fornecido.
-
NAME
: O nome do MIG no qual você precisa criar uma instância. -
VM_NAME
: o nome da nova instância a ser criada. -
ZONE
: A zona onde o MIG está localizado (aplica-se a um MIG zonal). -
REGION
: A região onde o MIG está localizado (aplica-se a um MIG regional). -
DEVICE_NAME
: o nome do dispositivo a ser usado ao anexar o disco. -
DISK
: o URI de um disco permanente existente a ser anexado aoDEVICE_NAME
especificado no formatoprojects/ project-id /zones/ zone /disks/ disk-name
para um disco zonal eprojects/ project-id /regions/ region /disks/ disk-name
para um disco regional. -
MODE
: Especifica o modo do disco. As opções suportadas são:-
ro
: somente leitura. -
rw
: (Padrão.) Leitura/gravação.
-
DELETE_RULE
: um valor que prescreve o que deve acontecer a um disco com estado quando uma instância de VM é excluída. As opções disponíveis são:-
never
: (Padrão.) Nunca exclua o disco; em vez disso, desconecte o disco quando sua instância for excluída. -
on-permanent-instance-deletion
: exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância for excluída manualmente ou quando o tamanho do grupo diminuir.
Independentemente do valor da regra de exclusão, os discos com estado são sempre preservados nas operações de recuperação automática, atualização e recriação da instância.
-
- Pare a VM,
db-instance
, durante uma janela de manutenção. - Crie um modelo de instância chamado
db-template
usando a configuraçãodb-instance
. - Desanexe
db-data-disk-1
dedb-instance
e excluadb-instance
. - Crie um MIG vazio,
example-database-mig
, dedb-template
e configure a recuperação automática. Crie uma instância gerenciada com o nome de
db-instance
original e anexedb-data-disk-1
como um disco com monitoração de estado:gcloud compute instance-groups managed create-instance example-database-mig \ --instance db-instance \ --zone us-east1-c \ --stateful-disk device-name=data-disk,source=projects/example-project/zones/us-east1-c/disks/db-data-disk-1,auto-delete=never
O comando cria uma instância,
db-instance
, no MIG, cria uma configuração correspondente por instância comdb-data-disk-1
stateful disk e anexa o disco à nova VM, usandodata-disk
como o nome do dispositivo.-
PROJECT_ID
: ID do projeto da solicitação. -
ZONE
: A zona onde o MIG está localizado (aplica-se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG no qual será criada uma instância. -
VM_NAME
: o nome da instância a ser criada. -
DEVICE_NAME
: o nome do dispositivo a ser usado ao anexar o disco. -
DISK
: o URI de um disco permanente existente a ser anexado aoDEVICE_NAME
especificado no formatoprojects/ project-id /zones/ zone /disks/ disk-name
para um disco zonal ouprojects/ project-id /regions/ region /disks/ disk-name
para um disco regional. -
MODE
: Especifica o modo do disco. As opções suportadas são:-
READ_ONLY
: Somente leitura. -
READ_WRITE
: (Padrão.) Leitura/gravação.
-
DELETE_RULE
: um valor que prescreve o que deve acontecer a um disco com estado quando uma VM é excluída. As opções disponíveis são as seguintes:-
never
: (Padrão.) Nunca exclua o disco; em vez disso, desconecte o disco quando sua VM for excluída. -
on-permanent-instance-deletion
: exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instâncias, por exemplo, quando a instância for excluída manualmente ou quando o tamanho do grupo diminuir.
Independentemente do valor da regra de exclusão, os discos com estado são sempre preservados nas operações de recuperação automática, atualização e recriação da instância.
-
- Pare a VM,
db-instance
, durante uma janela de manutenção. - Crie um modelo de instância chamado
db-template
usando a configuraçãodb-instance
. - Desanexe
db-data-disk-1
dedb-instance
e excluadb-instance
. - Crie um MIG vazio,
example-database-mig
, dedb-template
e configure a recuperação automática. Crie uma instância com o nome
db-instance
original e anexedb-data-disk-1
como um disco com estado:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/createInstances { "instances": [ { "name": "db-instance", "preservedState" : { "disks": { "data-disk" : { "source": "projects/example-project/zones/us-east1-c/disks/db-data-disk-1", "mode": "READ_WRITE", "autoDelete": "never" } } } } ] }
O método cria uma instância,
db-instance
, no MIG, cria uma configuração correspondente por instância com o disco com estadodb-data-disk-1
e anexa o disco à nova instância, usandodata-disk
como o nome do dispositivo.- Adicionar um disco com estado de fora de um MIG a uma VM nesse MIG.
- Declarar um disco anteriormente sem estado como com estado para uma VM em um MIG.
- Substituir um disco com estado por um disco diferente para uma VM em um MIG.
-
NAME
: o nome do grupo de instância gerenciado. -
VM_NAME
: o nome da instância da VM para a qual configurar discos com estado. -
DEVICE_NAME
: o nome do dispositivo usado para conectar o disco. DISK
: o URI de um disco persistente existente a ser anexado sob oDEVICE_NAME
especificado, nosprojects/ project-id /zones/ zone /disks/ disk-name
para um disco zonal eprojects/ project-id /regions/ region /disks/ disk-name
para um disco regional.O subfado
source= DISK
é opcional se o dispositivo já estiver definido na configuração PER-Instance da instância. Caso contrário, é necessário.Se omitido, o URI de disco atualmente configurado permanece inalterado.
MODE
: especifica o modo do disco. Você só pode especificarmode
se também especificarsource
. As opções suportadas são:-
ro
: somente leitura. -
rw
: (padrão.) Leia/gravação.
Se omitido, o valor padrão será definido para uma nova configuração de disco com estado; O valor permanece inalterado em uma configuração existente.
-
DELETE_RULE
: um valor que prescreve o que deve acontecer com um disco com estado quando uma VM é excluída. As opções disponíveis são as seguintes:-
never
: (padrão.) Nunca exclua o disco; Em vez disso, separe o disco quando sua instância for excluída. -
on-permanent-instance-deletion
: Exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instância, por exemplo, quando a instância é excluída manualmente ou quando o tamanho do grupo é diminuído.
Se omitido, o valor padrão será definido para uma nova configuração de disco com estado; O valor permanece inalterado em uma configuração existente.
Independentemente do valor da regra de exclusão, os discos com estado são sempre preservados nas operações de criação automática, atualização e recreação.
-
MINIMAL_ACTION
: execute pelo menos a ação especificada ao aplicar a atualização da configuração por instância na instância. Deve ser usado junto com o sinalizador--update-instance
. O valor deve ser um dos seguintes:-
none
: sem ação. -
refresh
: aplique atualizações possíveis para aplicar sem interromper a VM. -
restart
: pare a VM e depois comece novamente. -
replace
: recrie a VM.
Se omitido, a ação menos disruptiva exigida pela atualização é usada.
-
- Atualiza a configuração por Instance para
db-instance-1
:- Atualiza a fonte do disco com o nome do dispositivo
data-disk
dedata-disk-1
(última configuração) paradata-disk-2
(nova configuração). - Mantém a regra de eliminação automática para nunca excluir o disco porque o parâmetro
auto-delete
é omitido no sinalizador--stateful-disk
e, por padrão, a regra de exclusãonever
é.
- Atualiza a fonte do disco com o nome do dispositivo
- Aplica a atualização da configuração por instance à VM
db-instance-1
imediatamente porque o sinalizador--update-instance
está incluído. O MIG destacadata-disk-1
e anexadata-disk-2
no mesmo nome do dispositivo,data-disk
. - Como a ação mínima está definida como
restart
, o MIG reinicia a instânciadb-instance-1
para atualizar a VM, o que ajuda o aplicativo de banco de dados a iniciar o uso do novo disco. -
PROJECT_ID
: o ID do projeto para a solicitação. -
ZONE
: a zona onde o MIG está localizado (aplica -se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG. -
VM_NAME
: o nome da VM, para qual configurar discos com estado. -
DEVICE_NAME
: o nome do dispositivo usado para conectar o disco. DISK
: o URI de um disco persistente existente a ser anexado sob oDEVICE_NAME
especificado, nosprojects/ project-id /zones/ zone /disks/ disk-name
para um disco zonal eprojects/ project-id /regions/ region /disks/ disk-name
para um disco regional.O campo
"source": " DISK "
é opcional se o dispositivo já estiver definido na configuração por instance da instância. Caso contrário, é necessário.Se o campo
source
for omitido, o URI de disco atualmente configurado permanecerá inalterado.MODE
: (Opcional.) Especifica o modo do disco.mode
só pode ser especificado sesource
for fornecida. As opções suportadas são:-
READ_ONLY
: somente leitura. -
READ_WRITE
: (padrão.) Leia/gravação.
Se omitido, o valor padrão será definido para uma nova configuração de disco com estado; O valor permanece inalterado em uma configuração existente.
-
DELETE_RULE
: (opcional.) Um valor que prescreve o que deve acontecer com um disco com estado quando uma VM é excluída. As opções disponíveis são as seguintes:- nunca: (padrão.) Nunca exclua o disco; Em vez disso, separe o disco quando sua instância for excluída.
-
on-permanent-instance-deletion
: Exclua o disco com estado quando sua instância for excluída permanentemente do grupo de instância, por exemplo, quando a instância é excluída manualmente ou quando o tamanho do grupo é diminuído.
Se o campo
autoDelete
for omitido, o valor padrão será definido para uma nova configuração de disco com estado; O valor permanece inalterado em uma configuração existente.Independentemente do valor da regra de exclusão, os discos com estado são sempre preservados nas operações de criação automática, atualização e recreação.
FINGERPRINT
: (opcional). A impressão digital para a configuração fornecida se ela já existir. Usado para bloqueio otimista. Para ver as últimas impressões digitais, faça uma solicitaçãoget()
para recuperar o recurso.- Atualiza a
source
para um disco com o nome do dispositivodata-disk
dodata-disk-1
(última configuração) paradata-disk-2
(nova configuração). - Mantém os parâmetros
mode
eautoDelete
inalterados porque os parâmetros são omitidos na solicitação. - Se você pesquisar seu aplicativo para mover o estado para fora do disco.
- Se você configurar o disco para ser um estado por engano e gostaria de revertê -lo.
- Se o disco não estiver definido no modelo de instância, o MIG desafia o disco.
- O MIG não exclui o disco quando você exclui sua configuração da configuração PER-Instance, independentemente da regra de eletância automática na configuração.
- Se o disco for definido pelo modelo de instância, o MIG tratará o disco como sem estado, o que significa que o MIG recria o disco de sua fonte no modelo de instância na recreação subsequente de instância, atualização ou eventos de criação automática.
-
NAME
: O nome do MIG. -
VM_NAME
: nome da VM para remover a configuração do estado. -
DEVICE_NAME
: o nome do dispositivo usado para conectar o disco. MINIMAL_ACTION
: execute pelo menos a ação especificada ao atualizar a VM com sua configuração PER-Instance. Só pode ser usado junto com--update-instance
. O valor deve ser um a seguir:-
none
: sem ação. -
refresh
: aplique atualizações possíveis para aplicar sem interromper a VM. -
restart
: pare a VM e depois comece novamente. -
replace
: recrie a VM.
Se omitido, a ação menos disruptiva exigida pela atualização é usada.
-
- Remove a configuração para o disco com o nome do dispositivo
boot-disk
da configuração PER-Instance paranode-1
. - Aplica a atualização da configuração por instance para a VM
node-1
imediatamente porque o sinalizador--update-instance
está incluído. O MIG remove o disco de inicialização dopreservedStateFromConfig
da instância Gerenciado e trata o disco de inicialização como sem estado, o que significa que o MIG recria o disco de sua imagem de inicialização no modelo de instância na recreação de instância subsequente, atualização ou eventos de auto -criação. -
PROJECT_ID
: o ID do projeto para a solicitação. -
ZONE
: a zona onde o MIG está localizado (aplica -se a um MIG zonal).- Para um MIG regional, substitua
zones/ ZONE
porregions/ REGION
e especifique a região do MIG.
- Para um MIG regional, substitua
-
NAME
: O nome do MIG. -
VM_NAME
: o nome da VM para remover a configuração do estado. -
DEVICE_NAME
: o nome do dispositivo usado para conectar o disco. -
FINGERPRINT
: a impressão digital para a configuração fornecida se já existir. Usado para bloqueio otimista. Para ver as últimas impressões digitais, faça uma solicitaçãoget()
para recuperar o recurso. Ligue para o método
patchPerInstanceConfigs
para as instâncias, por exemplo, para onode-1
com um valornull
para o disco de inicialização:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-1", "preservedState" : { "disks": { "boot-disk" : null } } } ] }
O método remove a configuração para o disco com o nome do dispositivo
boot- disk
da configuração PER-Instance paranode-1
. A atualização de configuração ainda não foi aplicada à instâncianode-1
VM. A atualização de configuração será aplicada na próxima recreação ou atualização da instância.Para aplicar a atualização da configuração por instance na instância do
node-1
VM, ligue para o método doinstanceGroupManagers.applyUpdatesToInstances
para a instância:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
O MIG remove o disco de inicialização do
preservedStateFromConfig
para a instâncianode-1
e trata o disco como sem estado. Ou seja, o MIG recria o disco de sua imagem de inicialização no modelo de instância em eventos subsequentes de recreação, atualização ou criação de automóveis subsequentes.- Configure metadados com estado para VMs em um MIG.
- Aprenda sobre a aplicação, a visualização e a remoção da configuração com estado.
- Obtenha informações sobre um MIG específico e suas instâncias gerenciadas, incluindo status e propriedades da VM.
- Saiba mais sobre o MIGS e o trabalho com instâncias gerenciadas .
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Um MIG com discos com estado tem as seguintes limitações:
Um MIG com configuração com estado — um MIG com estado — tem as seguintes limitações:
Quando usar discos permanentes com estado
Use discos permanentes com estado para aproveitar a recuperação automática de VM e as atualizações automatizadas , preservando os dados nos discos. Para obter mais informações, consulte casos de uso para MIGs com estado.
Quando você configura discos com estado, esses discos são preservados por meio de recuperação automática, atualizações e recriação de instâncias de VM. Mas isso também significa que os discos com estado não podem ser recriados a partir da imagem original ou atualizados para uma nova imagem.
Como prática recomendada, recomendamos manter seus discos de inicialização sem estado.
Manter o disco de inicialização sem estado traz os seguintes benefícios:
Para obter mais informações, consulte como a recuperação automática e a atualização lidam com o estado preservado.
Configurar discos permanentes com estado para todas as VMs em um MIG
Configure qualquer disco definido em um modelo de instância para ter estado adicionando o nome do dispositivo desse disco à política com estado do MIG. O MIG trata os discos com esse nome de dispositivo como stateful para todas as instâncias de VM existentes e futuras.
Configurando discos com estado na criação de MIG
Console
gcloud
Para especificar quais discos de um modelo de instância devem ter estado na criação do MIG, use a sinalização
--stateful-disk
com ogcloud compute instance-groups managed create
:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]
Substitua o seguinte:
Exemplo
Você deseja implantar um banco de dados com 12 fragmentos, cada um com um disco de inicialização sem estado que contém o sistema operacional e os binários do banco de dados, e cada um com um disco de dados com estado. Use as seguintes etapas:
Terraforma
Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM desejadas para cada VM em seu MIG, crie um modelo de instância .
O exemplo a seguir cria um MIG zonal com um disco com estado. Para especificar qual disco do modelo de instância deve ter estado na criação do MIG, inclua o bloco
stateful_disk
. Para obter mais informações sobre o recurso usado no exemplo, consulte recursogoogle_compute_instance_group_manager
. Para criar um MIG regional, use o recursogoogle_compute_region_instance_group_manager
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para especificar quais discos do modelo de instância devem ter estado na criação do MIG, inclua-os no campo
statefulPolicy
no corpo da solicitação do métodoinstanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers { "name": "NAME", "versions": [ { "instanceTemplate": "global/instanceTemplates/TEMPLATE" } ], "targetSize": SIZE, "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }, "DEVICE_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Substitua o seguinte:
Exemplo
Você deseja implantar um banco de dados com 12 fragmentos, cada um com um disco de inicialização sem estado que contém o sistema operacional e os binários do banco de dados, e cada um com um disco de dados com estado. Use as etapas a seguir.
Definir e atualizar a configuração com estado para discos em um MIG existente
Se você executar um aplicativo com estado em um MIG sem estado (um MIG sem qualquer configuração com estado), poderá configurar os discos existentes definidos no modelo de instância para terem estado para todas as instâncias neste MIG. Isso permite preservar os discos em operações de recriação de instância, recuperação automática e atualização e, opcionalmente, em operações de exclusão.
Você pode fazer as seguintes operações:
O MIG aplica a configuração atualizada na política com estado de forma automática e assíncrona a todas as instâncias. As atualizações nas configurações de disco em uma política com estado não interrompem a execução das VMs. Para obter mais informações, consulte aplicar atualizações de políticas com estado .
Para um MIG regional, você deve desabilitar a redistribuição proativa de instâncias entre zonas antes de poder configurar discos com estado. Para obter mais informações, consulte como os grupos regionais lidam com o estado preservado .
Console
gcloud
Para especificar quais discos do modelo de instância devem ter estado ou para atualizar a configuração do disco com estado para um MIG existente, use um ou vários sinalizadores
--stateful-disk
com o comandogcloud compute instance-groups managed update
:gcloud compute instance-groups managed update NAME \ --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]
Substitua o seguinte:
Se um nome de dispositivo especificado já estiver configurado na política com estado, o comando atualizará a configuração.
Exemplo
Você executa um banco de dados com vários fragmentos em um MIG chamado
example-database- group
. Cada VM no MIG armazena um fragmento em um disco adicional com nome de dispositivodata-disk
, que é definido pelo modelo de instância. O MIG não tem configuração com estado e você deseja preservar os discos de dados na recriação da instância, na recuperação automática e nas atualizações. Você também deseja proteger os discos de dados contra exclusão quando uma VM for excluída.DESCANSAR
Para especificar quais discos do modelo de instância devem ter estado ou para atualizar a configuração do disco com estado para um MIG existente, configure os discos na política com estado do MIG usando o método
instanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }, "DEVICE_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Substitua o seguinte:
Se o nome do dispositivo especificado já estiver configurado na política com estado, o método
patch
atualizará sua configuração.Exemplo
Você executa um banco de dados com vários fragmentos em um MIG chamado
example-database- group
. Cada VM no MIG armazena um fragmento em um disco adicional com nome de dispositivodata-disk
, que é definido pelo modelo de instância. O MIG não tem configuração com estado e você deseja preservar os discos de dados na recriação da instância, na recuperação automática e nas atualizações. Você também deseja proteger os discos de dados contra exclusão quando uma VM for excluída.Declarar discos permanentes anteriormente com estado como sem estado
Talvez seja necessário configurar um disco com estado para ser tratado como sem estado. Por exemplo:
Para declarar todos os discos com um determinado nome de dispositivo como sem estado, remova a configuração do disco da política com estado.
O MIG aplica a alteração à política com estado de forma automática e assíncrona a todas as instâncias. As atualizações na configuração do disco em uma política com estado não interrompem a execução de instâncias de VM.
Para obter mais informações, consulte Aplicando atualizações de políticas com estado .
Console
gcloud
Para especificar quais discos de uma política com estado de um MIG devem ser tornados sem estado, use a sinalização
--remove-stateful-disks
com o comandogcloud compute instance-groups managed update
:gcloud compute instance-groups managed update NAME \ --remove-stateful-disks DEVICE_NAME[,DEVICE_NAME,...]
Substitua o seguinte:
Exemplo
Você executa um aplicativo legado com vários nós em um MIG denominado
example-legacy-group
. Cada VM no MIG armazena dados do aplicativo em um disco de inicialização com nome de dispositivoboot-disk
, que você configurou como stateful na política stateful do MIG. Você moveu os dados do aplicativo para um disco adicional e agora deseja tornar o disco de inicialização sem estado para facilitar a atualização para novas imagens.Para remover a configuração com estado do disco de inicialização, atualize o grupo gerenciado de instâncias:
gcloud compute instance-groups managed update example-legacy-group \ --remove-stateful-disks boot-disk
O MIG remove a configuração com estado do nome do dispositivo
boot-disk
de forma automática e assíncrona para os discos de inicialização de todas as instâncias do grupo. Os discos de inicialização permanecem anexados às instâncias, mas não têm mais estado. Quando você recria ou atualiza as instâncias, ou quando as instâncias são reparadas automaticamente, o MIG recria os discos de inicialização a partir da imagem especificada no modelo de instância.DESCANSAR
Para especificar quais discos da política com estado de um MIG devem ser tornados sem estado, remova a configuração de cada disco da política com estado do MIG usando o método
instanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": null, ... } } } }
Substitua o seguinte:
Exemplo
Você executa um aplicativo legado com vários nós em um MIG denominado
example-legacy-group
. Cada VM no MIG armazena dados do aplicativo em um disco de inicialização com nome de dispositivoboot-disk
, que você configurou como stateful na política stateful do MIG. Você moveu os dados do aplicativo para um disco adicional e agora deseja tornar o disco de inicialização sem estado para facilitar a atualização para novas imagens.Para remover a configuração com estado do disco de inicialização, aplique patch ao grupo gerenciado de instâncias:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group { "statefulPolicy": { "preservedState": { "disks": { "boot-disk": null } } } }
O MIG remove a configuração com estado do nome do dispositivo
boot-disk
de forma automática e assíncrona para os discos de inicialização de todas as instâncias do grupo. Os discos de inicialização permanecem anexados às instâncias, mas não têm mais estado. Quando você recria ou atualiza as instâncias, ou quando as instâncias são reparadas automaticamente, o MIG recria os discos de inicialização a partir da imagem especificada no modelo de instância.Remover discos permanentes com estado de um MIG
Talvez seja necessário remover completamente um disco com estado de instâncias em um MIG, por exemplo, se você reprojetar seu aplicativo e mover o estado desse disco.
Os MIGs não permitem a remoção de discos com estado, portanto, você deve executar as seguintes etapas:
Configurar discos permanentes com estado individualmente para uma VM em um MIG
Configure discos persistentes com estado para uma VM específica em um MIG adicionando o nome do dispositivo do disco à configuração por instância dessa VM. Atualize a VM para aplicar a configuração por instância e torná-la efetiva.
Configurar discos permanentes com estado individualmente para VMs específicas em um MIG será útil se você precisar:
Adicionar discos com estado existentes a novas VMs em um MIG
Você pode adicionar discos com estado existentes a novas instâncias criadas manualmente em um MIG. Isso é útil para migrar um aplicativo com estado de VMs autônomas existentes para um MIG com estado, por exemplo:
Adicione discos com estado existentes ao criar manualmente instâncias específicas em um MIG usando a CLI gcloud ou REST. O MIG aplica a configuração imediatamente na criação da VM.
gcloud
Para criar uma VM com um nome personalizado e anexar um ou mais discos com estado existentes a essa VM, use o comando
gcloud compute instance-groups managed create-instance
com uma ou várias sinalizações--stateful-disk
.gcloud compute instance-groups managed create-instance NAME \ --instance VM_NAME \ [--zone ZONE | --region REGION] \ --stateful-disk device-name=DEVICE_NAME,source=DISK[,mode=MODE][,auto-delete=DELETE_RULE]
Substitua o seguinte:
Exemplo
Você deseja ter recuperação automática para um servidor de banco de dados que está atualmente em execução em uma VM autônoma chamada
db-instance
e que atualmente armazena dados em um disco chamadodb-data-disk-1
.Crie um MIG com estado com recuperação automática, crie uma VM semelhante dentro do MIG e anexe o disco de dados existente
db-data-disk-1
à nova instância como um disco com estado:DESCANSAR
Para criar uma ou várias instâncias em um MIG, definir nomes de VM personalizados e anexar um ou vários discos com estado existentes a essas instâncias, use o método
instanceGroupManagers.createInstances
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/createInstances { "instances": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } } }, ... ] }
Substitua o seguinte:
Exemplo
Você deseja ter recuperação automática para um servidor de banco de dados que está atualmente em execução em uma VM autônoma chamada
db-instance
e que atualmente armazena dados em um disco chamadodb-data-disk-1
.Crie um MIG com estado com recuperação automática, crie uma instância semelhante dentro do MIG e anexe o disco de dados existente
db-data-disk-1
à nova VM como um disco com estado:Adicionar, declarar e substituir discos com estado individualmente para VMs em um MIG
Configure discos com estado individualmente para uma instância gerenciada adicionando ou atualizando uma configuração de disco com estado na configuração por instância associada. Em seguida, atualize a instância para aplicar a configuração por instância à VM.
Configurar discos com estado individualmente é útil para as seguintes tarefas:
Adicionar um disco com estado de fora de um MIG a uma VM nesse MIG. Você pode anexar qualquer disco de fora de um MIG a uma instância gerenciada adicionando uma configuração com estado do disco à configuração por instância associada. Depois de aplicar a configuração, o MIG anexa automaticamente o disco à instância e o trata como com monitoração de estado.
Declarar um disco permanente anteriormente sem estado como com estado. Você pode declarar um disco anteriormente sem estado, atualmente conectado a uma VM, como com estado, adicionando uma configuração com estado para esse disco, incluindo seu nome de dispositivo e URI, à configuração por instância associada. Depois de aplicar a configuração, o MIG começa a preservar o disco com estado.
Substituindo um disco com estado por um disco diferente. Substituir um disco com estado por outro disco com estado pode ser útil, por exemplo, se você precisar de acesso a um backup recuperado. Você pode trocar um disco com estado por outro atualizando o URI do disco enquanto mantém o mesmo nome de dispositivo na configuração por instância. Depois de aplicar a configuração atualizada por instância, o MIG desconecta o disco antigo e anexa o novo usando o mesmo nome de dispositivo. Ao aplicar a atualização, escolha manter a instância em execução, reiniciar ou recriá -la. A troca de um disco de inicialização requer pelo menos uma reinicialização da VM.
gcloud
Para configurar discos com estado individual individualmente para uma VM em uma MIG, adicione ou atualize a configuração de disco com estado com a configuração de instance associada. Em seguida, atualize a instância para aplicar a configuração .
Se ainda não existir uma configuração por instância, use o comando
gcloud compute instance-groups managed instance-configs create
--stateful-disk
CONFIGS CRIEgcloud compute instance-groups managed instance-configs create NAME \ --instance VM_NAME \ --stateful-disk device-name=DEVICE_NAME[,source=DISK][,mode=MODE][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Se já existir uma configuração por instância para a instância, use o comando
gcloud compute instance-groups managed instance-configs update
com um ou vários sinalizadores--stateful-disk
.O
--update-instance
(padrão) aplica as alterações imediatamente à instância. Se você usar--no-update-instance
, as alterações permanecem desaprovado e são aplicadas quando você recriar ou atualizar a instância.gcloud compute instance-groups managed instance-configs update NAME \ --instance VM_NAME \ --stateful-disk device-name=DEVICE_NAME[,source=DISK][,mode=MODE][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Substitua o seguinte:
Exemplo
Os dados em um disco estacionado atualmente anexado,
data-disk-1
, foram corrompidos e você deseja restaurá-lo do backup mais recente. Você criou um disco,data-disk-2
, a partir de um instantâneo para substituir o disco corrompido, por exemplo,db-instance-1
, gerenciado por um MIG com estado,example-database-mig
. Odata-disk-1
é anexado no nome do dispositivodata-disk
com uma regra de telete automática para nunca excluir o disco.Para substituir
data-disk-1
pelodata-disk-2
, execute o seguinte comando:gcloud compute instance-groups managed instance-configs update example-database-mig \ --instance db-instance-1 \ --stateful-disk device-name=data-disk,source=projects/example-project/zones/us-east1-c/disks/data-disk-2 \ --update-instance \ --instance-update-minimal-action restart
O comando faz o seguinte:
Terraforma
Para configurar discos com estado individual individualmente para uma VM em um MIG, adicione a configuração de disco com estado na configuração de instance associada. Em seguida, atualize a instância para aplicar a configuração .
Para adicionar configuração por instance para uma VM, use o recurso
google_compute_per_instance_config
e inclua o blocopreserved_state
conforme mostrado na amostra a seguir.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para configurar discos com estado individualmente para VMs em um MIG, adicione ou atualize a configuração de disco com estado nas configurações de instance associadas. Em seguida, atualize as instâncias para aplicar a configuração .
Se ainda não existirem configurações por instância, use o método do
instanceGroupManagers.updatePerInstanceConfigs
ouregionInstanceGroupManagers.updatePerInstanceConfigs
com o método com configuração de estado para um ou vários discos:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Se já existirem configurações de instance para as VMs especificadas, use o método do
instanceGroupManagers.patchPerInstanceConfigs
ouregionInstanceGroupManagers.patchPerInstanceConfigs
Método com configuração estabelecida para um ou vários discos:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Substitua o seguinte:
Os métodos
updatePerInstanceConfigs
epatchPerInstanceConfigs
atualizam as configurações de instance especificadas, mas não aplicam as atualizações de configuração às VMs gerenciadas associadas. As alterações são aplicadas a uma instância quando o MIG é instruído a recriar ou atualizar a instância. Você também pode atualizar seletivamente a instância para aplicar as alterações.Exemplo
Os dados em um disco estacionado atualmente anexado,
data-disk-1
, foram corrompidos e você deseja restaurá-lo do backup mais recente. Você criou um disco,data-disk-2
, a partir de um instantâneo para substituir o disco corrompido, por exemplo,db-instance-1
, gerenciado por um MIG com estado,example-database-mig
. Odata-disk-1
é anexado no nome do dispositivodata-disk
com uma regra de telete automática para nunca excluir o disco.Para atualizar a configuração PER-Instance para
db-instance-1
com o novo disco, ligue para o métodopatchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "db-instance-1", "preservedState" : { "disks": { "data-disk" : { "source": "projects/example-project/zones/us-east1-c/disks/data-disk-2" } } } } ] }
O método corrige a configuração PER-Instance para
db-instance-1
:A atualização de configuração ainda não foi aplicada à VM
db-instance-1
. O MIG aplica a atualização de configuração ao recriar ou atualizar a instância.Para aplicar a atualização de configuração por instance à VM
db-instance-1
, ligue para o método doinstanceGroupManagers.applyUpdatesToInstances
para a instância:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/db-instance-1"], "minimalAction": "RESTART" }
O método atualiza o estado preservado da instância gerenciada, destacando
data-disk-1
e a anexaçãodata-disk-2
no mesmo nome do dispositivodata-disk
. Como aminimalAction
está definida paraRESTART
, o método reinicia a VMdb-instance-1
, que permite que o aplicativo de banco de dados comece a usar o novo disco.Destacar um disco com estado ou declarar -o sem estado para uma VM individual
Pode ser necessário destacar um disco com estado ou configurá -lo para ser tratado como apátrida para uma VM individual. Por exemplo:
Desconecte um disco com estado ou torne-o sem estado para uma VM individual, removendo a configuração com estado do disco da configuração per-instance associada ou excluindo toda a configuração por instance. Quando você aplica a mudança:
A remoção de uma configuração de disco de uma configuração por instância não reinicia uma instância em execução da VM, a menos que você opte explicitamente.
Para obter mais informações, consulte Aplicação de atualizações de configurações por instância .
gcloud
Para destacar os discos com estado ou declará-los sem estado individualmente para uma VM em um MIG, remova a configuração do disco com estado da configuração por instância associada ou exclua toda a configuração por instância se não contiver nenhum outro estado. Atualize a instância para aplicar a configuração.
Para remover uma configuração de disco com estado da configuração per-instance associada, use o comando
gcloud compute instance-groups managed instance-configs update
com o sinalizador--remove-stateful-disks
. O--update-instance
(padrão) aplica as alterações imediatamente à instância. Se você usar--no-update-instance
, as alterações permanecem desaprovado e são aplicadas quando você recriar ou atualizar a instância.gcloud compute instance-groups managed instance-configs update NAME \ --instance VM_NAME \ --remove-stateful-disks DEVICE_NAME[,DEVICE_NAME,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Substitua o seguinte:
Exemplo
Você executa um aplicativo herdado em um MIG chamado
example-legacy-group
. Cada VM nos dados do aplicativo MIG armazena em um disco de inicialização com o nome do dispositivo,boot-disk
. Usando configurações por instância, você configurou cada disco de inicialização para ser um estado. Agora você moveu os dados do aplicativo para um disco adicional e deseja tornar o disco de inicialização sem firmeza para cada VM para facilitar a atualização para novas imagens.Para cada instância, por exemplo, para
node-1
, execute o comando:gcloud compute instance-groups managed instance-configs update example-legacy-group \ --instance node-1 \ --remove-stateful-disks boot-disk \ --update-instance
O comando faz o seguinte:
DESCANSAR
Para destacar os discos com estado ou declará-los sem estado individualmente para uma VM em um MIG, remova a configuração do disco com estado da configuração por instância associada ou exclua toda a configuração por instância se não contiver nenhum outro estado. Em seguida, atualize a instância para aplicar a configuração .
Para remover uma configuração de disco com estado da configuração per-instance associada , use o método do
instanceGroupManagers.patchPerInstanceConfigs
ouregionInstanceGroupManagers.patchPerInstanceConfigs
Método :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : null }, ... }, "fingerprint: "FINGERPRINT" ... } ] }
Substitua o seguinte:
O método
patchPerInstanceConfigs
corra as configurações especificadas por Instance, mas não aplica as alterações às VMs associadas. As alterações são aplicadas a uma VM quando você recrie ou atualiza a instância. Você pode aplicar as alterações manualmente ou usar atualizações automatizadas de rolagem.Exemplo
Você executa um aplicativo herdado em um MIG chamado
example-legacy-group
. Cada VM nos dados do aplicativo MIG armazena em um disco de inicialização com o nome do dispositivoboot-disk
. Você configurou o disco de inicialização como com estado nas configurações por instance do MIG ao migrar as VMs independentes para o MIG. Você moveu os dados do aplicativo para um disco adicional e agora deseja tornar o disco de inicialização semeado para cada VM para facilitar a atualização de novas imagens.Opinião
Queremos aprender sobre seus casos de uso, desafios e feedback sobre os MIGs com estado. Compartilhe seus comentários com nossa equipe em mig-discuss@google.com .
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-