Aplicar, ver e remover a configuração com estado em MIGs

Depois de criar ou atualizar uma configuração com estado para um grupo de instâncias geridas (GIG) com estado, pode:

  • Aplique a configuração com estado para que entre em vigor.
  • Veja a configuração com estado, bem como o estado preservado eficaz das suas instâncias geridas.
  • Remova a configuração com estado.

Antes de começar

  • Reveja quando usar MIGs com estado e como funcionam os MIGs com estado.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Aplicar configuração com estado a instâncias geridas

A configuração com estado é eficaz depois de ser aplicada por si ou pelo MIG.

  • As alterações de configuração numa política com estado são aplicadas automaticamente a todas as instâncias geridas.
  • As alterações de configuração numa configuração por instância podem ser aplicadas manual ou automaticamente.

Para mais informações conceptuais, leia o artigo Como a configuração com estado é aplicada a instâncias geridas.

Aplicar configuração a partir de uma política com estado

Todas as alterações de configuração numa política com estado são aplicadas automaticamente a todas as instâncias geridas. As atualizações a uma política com estado não interrompem as instâncias de máquinas virtuais (VM) em execução.

Verificar se foi aplicada uma política com estado

A validar todas as VMs

Verifique se as alterações a uma política com estado foram aplicadas a todas as VMs verificando se o MIG ficou estável após as alterações.

Validar VMs específicas

Verifique se as alterações a uma política com estado foram aplicadas a uma VM específica num MIG vendo o estado preservado da instância gerida e verificando se todos os discos da política com estado estão presentes em preservedStateFromPolicy ou preservedStateFromConfig para a instância gerida.

Aplicar configuração com estado a partir de configurações por instância

Pode aplicar configurações por instância novas ou atualizadas de forma manual ou automática. Use uma das seguintes abordagens:

  • Aplicar seletivamente configurações atualizadas a instâncias específicas: use esta abordagem para controlar a interrupção, o momento e a sequência das atualizações.
  • Aplicar automaticamente configurações atualizadas com atualizações contínuas: use esta abordagem para aplicar alterações de configuração a instâncias geridas de forma contínua e automática.

Ambos os métodos aplicam atualizações pendentes de configurações por instância e versões não aplicadas ou do modelo de instância, se relevante.

Aplique seletivamente a configuração atualizada a instâncias específicas

Para aplicar manualmente configurações por instância a instâncias específicas, siga os passos abaixo:

  1. Configure uma política de atualização oportuna para evitar uma corrida com atualizações proativas automáticas.
  2. Criar ou atualizar configurações por instância.
  3. Aplique configurações atualizadas a VMs específicas atualizando seletivamente essas VMs.

Em alternativa, pode usar as seguintes abordagens:

  • Quando cria ou atualiza uma configuração por instância com a CLI gcloud, use a flag --update-instance para aplicar imediatamente a configuração à instância gerida associada.
  • Quando cria manualmente novas instâncias, especifique os respetivos nomes e configurações por instância no momento da criação. O MIG aplica configurações imediatamente na criação da VM.

Aplique automaticamente a configuração atualizada com atualizações contínuas

Configure atualizações implementadas proativas para que o MIG aplique automaticamente atualizações de configuração às instâncias geridas correspondentes de forma implementada.

Os MIGs com estado requerem a seguinte configuração para uma política de atualização proativa:

Esta configuração garante que o MIG recria instâncias com estado existentes e não as substitui por outras diferentes.

Também pode garantir que as alterações nas configurações por instância são aplicadas, se possível, sem parar as instâncias, definindo a ação mínima como REFRESH na política de atualização do grupo.

Verificar se as configurações por instância foram aplicadas

Validar todas as configurações por instância

Para verificar se todas as configurações por instância num MIG foram aplicadas, veja o estado com estado do MIG e verifique status.stateful.perInstanceConfigs.allEffective:

  • true: Todas as configurações por instância no grupo foram aplicadas e estão em vigor, ou o grupo não tem configurações por instância.
  • false: O grupo tem, pelo menos, uma configuração por instância que ainda não está em vigor: ainda não a aplicou ou está em processo de aplicação.

Validar uma configuração específica por instância

Para verificar se as alterações a uma configuração específica por instância foram aplicadas à VM correspondente, veja todas as configurações por instância e verifique o campo status da configuração específica por instância:

  • UNAPPLIED: a configuração por instância foi criada ou atualizada e tem de a aplicar à VM com uma atualização manual da instância.
  • APPLYING: O MIG está atualmente a aplicar a configuração por instância nova ou atualizada à VM.
  • EFFECTIVE: a configuração por instância foi aplicada com êxito à VM e está em vigor.
  • UNAPPLIED_DELETION: a configuração por instância está definida para ser eliminada. Tem de aplicar esta atualização à VM com uma atualização manual da instância para que entre em vigor.
  • DELETING: A configuração por instância está a ser eliminada e a alteração está a ser aplicada à VM.

Visualizar a configuração com estado e o estado preservado

Receba informações sobre os MIGs com estado para as seguintes tarefas:

  • Verificar se um MIG tem uma configuração com estado e se esta configuração é aplicada e eficaz.
  • Ver a configuração com estado que é comum a todas as instâncias no MIG, armazenada na política com estado.
  • Ver a configuração com estado específica de instâncias individuais, armazenada em configurações por instância e verificar se esta configuração é aplicada e eficaz.
  • Ver o estado preservado em vigor de cada instância num MIG com base na respetiva política com estado e nas configurações aplicadas por instância.

Ver o estado da configuração com estado de um MIG

Um MIG é considerado com estado se tiver alguma configuração com estado, ou seja, uma política com estado ou, pelo menos, uma configuração por instância não vazia.

Se criar uma política com estado, o MIG aplica-a automaticamente para a tornar eficaz. Se criar configurações por instância, pode decidir aplicá-las mais tarde.

Para verificar se um MIG tem uma configuração com estado e se todas as configurações por instância são aplicadas, veja o estado com estado do MIG através da CLI gcloud ou da API REST.

gcloud

Para verificar se um MIG tem uma configuração com estado, veja o respetivo estado com estado executando o comando gcloud compute instance-groups managed describe. Por exemplo:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

Neste resultado:

  • hasStatefulConfig:
    • true: o grupo tem uma configuração com estado, ou seja, o grupo tem uma política com estado não vazia ou, pelo menos, uma configuração por instância não vazia.
    • false: não existe nenhuma configuração com estado.
  • perInstanceConfigs.allEffective:
    • true: Todas as configurações por instância no grupo foram aplicadas e estão em vigor, ou o grupo não tem configurações por instância.
    • false: O grupo tem, pelo menos, uma configuração por instância que ainda não é eficaz: ainda não a aplicou ou está em processo de aplicação.

REST

Para verificar se um MIG tem uma configuração com estado, use o método instanceGroupManagers.get ou regionInstanceGroupManagers.get e verifique o campo status.stateful. Por exemplo:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

O método devolve o objeto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

Neste resultado:

  • hasStatefulConfig:
    • true: o grupo tem uma configuração com estado, ou seja, o grupo tem uma política com estado não vazia ou, pelo menos, uma configuração por instância não vazia.
    • false: não existe nenhuma configuração com estado.
  • perInstanceConfigs.allEffective:
    • true: Todas as configurações por instância no grupo foram aplicadas e estão em vigor, ou o grupo não tem configurações por instância.
    • false: O grupo tem, pelo menos, uma configuração por instância que ainda não é eficaz: ainda não a aplicou ou está em processo de aplicação.

Visualizar a política com estado de um MIG

Veja a política com estado de um MIG verificando os detalhes do grupo com a Google Cloud consola, a CLI gcloud ou o REST.

Consola

  1. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

  2. Clique no nome do grupo de instâncias do qual quer ver a política com estado.

  3. Aceda ao separador Detalhes.

  4. Em Recursos com estado, são apresentados todos os recursos na política com estado.

gcloud

Para ver a política com estado de um MIG, execute o comando gcloud compute instance-groups managed describe. Por exemplo:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Para ver a política com estado de um MIG, use o método instanceGroupManagers.get ou regionInstanceGroupManagers.get e verifique o campo statefulPolicy. Por exemplo:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

O método devolve o objeto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Ver as configurações por instância de um MIG

Veja as configurações por instância listando todas as configurações por instância num MIG. Use a CLI gcloud ou a API REST.

Se decidir aplicar manualmente as configurações por instância, algumas configurações por instância podem ainda não ser aplicadas às instâncias associadas e, por conseguinte, os estados preservados das instâncias podem ainda não refletir as suas configurações por instância. Para mais informações, consulte os artigos Aplicar configurações por instância e Verificar se as configurações por instância foram aplicadas

gcloud

Apresente uma lista de todas as configurações por instância num MIG executando o comando gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Substitua o seguinte:

  • NAME: o nome de um MIG para listar as configurações por instância

Filtre a lista através da --filter flag padrão.

Por exemplo, para listar todas as configurações por instância em example-group:

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Liste todas as configurações por instância num MIG chamando o método instanceGroupManagers.listPerInstanceConfigs ou regionInstanceGroupManagers.listPerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto do pedido
  • ZONE: a zona onde a GIG está localizada (aplica-se a uma GIG zonal)
    • Para um MIG regional, substitua zones/ZONE por regions/REGION e especifique a região do MIG
  • NAME: o nome de um MIG para listar as configurações por instância

Por exemplo, para listar todas as configurações por instância em example-group:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

O método devolve a lista de configurações por instância no grupo:

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Visualizar os estados preservados das instâncias geridas

Quando a configuração com estado é aplicada, o MIG gera e define o estado preservado efetivo de cada instância gerida em dois campos:

  • preservedStateFromPolicy: contém o estado preservado que é gerado com base numa política com estado, excluindo qualquer configuração com estado que seja substituída por configurações por instância.
  • preservedStateFromConfig: contém o estado preservado que é gerado com base numa configuração por instância que já foi aplicada à instância gerida.

Para ver o estado preservado efetivo de cada instância gerida num MIG, liste as instâncias geridas através da CLI gcloud ou da API REST.

gcloud

Verifique que instâncias geridas preservaram o estado através do comando gcloud compute instance-groups managed list-instances e da visualização dos valores na coluna PRESERVED_STATE. Por exemplo:

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

A coluna PRESERVED_STATE pode conter os seguintes valores:

  • POLICY: a instância gerida preservou o estado com base numa política com estado.
  • CONFIG: A instância gerida preservou o estado com base numa configuração por instância.
  • Sem valor: a instância de gestão não tem um estado preservado e não tem estado.

Veja o estado preservado de uma instância gerida específica executando o comando gcloud compute instance-groups managed describe-instance.

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome de um MIG
  • INSTANCE_NAME: o nome de uma instância gerida no grupo

Por exemplo, para ver o estado preservado da instância gerida node-1 em example-group, execute o seguinte comando:

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Liste as instâncias geridas para ver o estado preservado de cada instância através da chamada do método instanceGroupManagers.listManagedInstances ou regionInstanceGroupManagers.listManagedInstances.

Por exemplo, para apresentar uma lista de todas as instâncias geridas:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

O método devolve a lista de instâncias geridas no grupo, que contém informações sobre os respetivos estados preservados:

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Visualizar recursos de endereços IP estáticos associados

Para obter endereços IP estáticos (recursos Address) atribuídos a instâncias geridas num MIG, veja os estados preservados destas instâncias. Pode ver as moradas estáticas nos campos ipAddress.address.

Se um MIG ou as instâncias já não existirem, mas as reservas de endereços IP ainda existirem, pode listar as reservas de endereços internos ou externos estáticos.

Remover configuração com estado

A remoção da configuração com estado é útil nos seguintes cenários:

  • Migrou VMs autónomas para um MIG com estado e agora quer mover a configuração com estado das configurações por instância para uma política com estado comum.
  • Reestruturou a sua carga de trabalho e já não precisa de manter nenhum estado nas instâncias de VM.
  • Criou uma configuração com estado para fins de teste e agora quer limpá-la.

Esta secção descreve como remover totalmente uma política com estado numa configuração por instância. Se só precisar de remover um subconjunto de uma política com estado ou uma configuração por instância, consulte as seguintes secções:

Remover uma política com estado

Quando remove uma política com estado, afeta todas as VMs num MIG. O MIG trata todos os recursos com estado que foram configurados na política com estado como sem estado, a menos que esses recursos também sejam configurados em configurações por instância para instâncias individuais. Nas operações subsequentes de recriação, autorreparação ou atualização de instâncias, os recursos agora sem estado podem perder o respetivo estado:

  • Os discos podem ser eliminados e recriados a partir da origem, que é definida no modelo de instância.
  • Os endereços IP podem mudar.

Para informações conceptuais, consulte como a remoção de um recurso da política com estado afeta o estado preservado.

gcloud

Para eliminar toda a configuração de uma política com estado, execute o comando gcloud compute instance-groups managed update com as flags aplicáveis. Os indicadores aplicáveis são os seguintes:

  • --remove-stateful-disks e liste os nomes dos dispositivos de todos os discos com estado configurados.
  • --remove-stateful-internal-ips e liste os nomes das interfaces de rede de todos os endereços IP internos com estado configurados.
  • --remove-stateful-external-ips e liste os nomes das interfaces de rede de todos os endereços IP externos com estado configurados.

Por exemplo, se a sua política com estado tiver uma configuração para dois discos com estado com os nomes de dispositivos data-disk e logs-disk, e tiver uma configuração para endereços IP internos e externos com estado na interface de rede nic0, execute o seguinte comando para limpar a política:

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

O MIG remove da respetiva política com estado a configuração com estado data-disk e logs-disk, bem como a configuração de IP interno e externo com estado para a interface de rede nic0. Como resultado, o MIG remove esses discos e endereços IP estáticos dos estados preservados de todas as instâncias geridas no grupo de forma automática e assíncrona, a menos que os discos ou os endereços IP também estejam configurados em configurações por instância.

REST

Para eliminar toda a configuração na política com estado, defina o campo statefulPolicy como null através de instanceGroupManagers.patch ou regionInstanceGroupManagers.patch. method.

Por exemplo, a seguinte chamada remove a configuração de políticas com estado:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

{
  "statefulPolicy": null
}

O MIG limpa a configuração de políticas com estado e remove os recursos com estado dos estados preservados de todas as instâncias geridas no grupo de forma automática e assíncrona, a menos que os recursos também estejam configurados em configurações por instância.

Remover a configuração com estado para uma VM específica

A remoção da configuração com estado para uma VM específica é feita em dois passos:

  1. Elimine a configuração por instância associada.
  2. Aplique a alteração à instância gerida. Pode escolher se a alteração deve ser aplicada manual ou automaticamente.

Após a aplicação da alteração, todos os itens com estado configurados anteriormente na configuração por instância são agora tratados como sem estado, a menos que também estejam configurados na política com estado do grupo. Quando a VM é recriada ou atualizada posteriormente, o estado dos itens é perdido:

  • Os discos podem ser separados ou recriados a partir da respetiva origem no modelo de instância.
  • Os metadados são removidos ou repostos para os valores definidos no modelo de instância.
  • Os endereços IP podem mudar.

Para mais informações, consulte como a remoção de itens das configurações por instância afeta o estado preservado.

gcloud

Para eliminar completamente a configuração por instância, execute o comando gcloud compute instance-groups managed instance-configs delete.

Use a flag --update-instance opcional para aplicar as alterações imediatamente à instância (predefinição). Se definir a flag --no-update-instance, as alterações são aplicadas quando recria ou atualiza a instância da próxima vez.

A flag --instance-update-minimal-action só pode ser usada em conjunto com a flag --update-instance.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome do MIG.
  • INSTANCE_NAME: Nomes das instâncias para as quais eliminar as configurações por instância
  • MINIMAL_ACTION: A ação mínima a realizar quando aplica a atualização da configuração por instância à VM. Este valor tem de ser um dos seguintes:
    • none: nenhuma ação.
    • refresh: aplique atualizações que sejam possíveis aplicar sem parar a VM.
    • restart: pare a VM e, em seguida, inicie-a novamente.
    • replace: recrie a VM.

Por exemplo, para eliminar a configuração por instância para node-1 em example-group, execute o seguinte comando:

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

O MIG elimina a configuração por instância para node-1 e, como a VM foi atualizada e as alterações de configuração aplicadas, o MIG deixa de tratar esses itens com estado como tendo estado.

REST

Para eliminar completamente a configuração por instância de uma ou várias instâncias, use o método instanceGroupManagers.deletePerInstanceConfigs ou regionInstanceGroupManagers.deletePerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto do pedido
  • ZONE: a zona onde a GIG está localizada (aplica-se a uma GIG zonal)
    • Para um MIG regional, substitua zones/ZONE por regions/REGION e especifique a região do MIG
  • INSTANCE_GROUP_NAME: o nome do MIG
  • INSTANCE_NAME: nomes das instâncias para as quais eliminar as configurações por instância

O método deletePerInstanceConfig elimina as configurações especificadas por instância, mas não aplica as alterações às VMs associadas. As alterações são aplicadas a uma VM quando recria ou atualiza a instância. Atualize as VMs selecionadas manualmente para aplicar as alterações.

Por exemplo, para eliminar a configuração por instância de node-1 em example-group, chame o seguinte método:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

O método elimina a configuração por instância para a instância node-1 de example-group. A alteração é aplicada à instância gerida quando recria ou atualiza a instância.

Para aplicar a alteração de configuração, chame o método instanceGroupManagers.applyUpdatesToInstances:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

O método remove itens com estado do estado preservado da instância gerida.

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?