Aplicar atualizações de configuração durante as reparações


Este documento descreve como configurar o MIG para aplicar o modelo de instância mais recente e as configurações por instância quando recria uma VM durante as operações de reparação. A aplicação da configuração mais recente disponível durante uma operação de reparação também é conhecida como atualização na reparação. Este documento também descreve como verificar se a atualização na reparação está ativada no seu MIG e, se estiver ativada, como desativá-la.

Por predefinição, durante uma reparação, um MIG recria uma VM com a mesma configuração de instância que foi originalmente usada para criar a VM. Se estiverem disponíveis atualizações para o modelo de instância do grupo ou configurações por instância, tem a opção de aplicar estas alterações a uma VM em reparação.

Se quiser aplicar automaticamente atualizações de configuração a todas ou a um conjunto de VMs (PROACTIVE) ou atualizar seletivamente instâncias específicas (OPPORTUNISTIC), consulte o artigo Aplicar novas configurações a VMs num GIG.

Antes de começar

  • 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.

Configure a atualização na reparação

Para configurar a atualização na reparação, use 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 MIG onde quer configurar a atualização na reparação.

  3. Clique em Editar para modificar o MIG.

  4. Clique em Ciclo de vida da instância e autorreparação para expandir a secção.

  5. Na secção Atualizações durante a reparação da instância de VM, selecione Atualizar a configuração da instância.

  6. Clique em Guardar.

gcloud

Para um MIG existente, use o comando update:

gcloud compute instance-groups managed update MIG_NAME \
    --force-update-on-repair

Para um novo MIG, use o comando create:

gcloud compute instance-groups managed create MIG_NAME \
    --template INSTANCE_TEMPLATE_URL_ \
    --size SIZE \
    --force-update-on-repair

Substitua o seguinte:

  • MIG_NAME: o nome do grupo de instâncias.
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • SIZE: o tamanho de destino do grupo de instâncias.

REST

Para um GIG zonal existente, use o método instanceGroupManagers.patch ou, para um GIG regional existente, use o método regionInstanceGroupManagers.patch.

Faça a seguinte chamada para configurar a atualização na reparação num MIG zonal existente:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": YES
  }
}

Para um novo GIG zonal, use o método instanceGroupManagers.insert ou, para um novo GIG regional, use o método regionInstanceGroupManagers.insert.

Faça a seguinte chamada para configurar a atualização na reparação quando criar um MIG zonal:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
  "name": "MIG_NAME",
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "targetSize": SIZE,
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": YES
  }
}

Substitua o seguinte:

  • PROJECT_ID: o seu ID do projeto.
  • ZONE: a zona onde o MIG está localizado.
  • MIG_NAME: o nome do grupo de instâncias.
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • SIZE: o tamanho de destino do grupo de instâncias.

Verifique se a atualização na reparação está ativada

Por predefinição, um MIG não atualiza uma VM durante uma reparação. Para verificar se a atualização na reparação está ativada para o seu MIG, use a Google Cloud consola, a CLI gcloud ou a REST para ver a configuração da atualização na reparação.

Consola

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

    Aceda a Grupos de instâncias

  2. Clique no nome do MIG cuja configuração quer verificar.

  3. Clique no separador Detalhes.

  4. Na secção Ciclo de vida da instância de VM, verifique a opção selecionada para Atualizações durante a reparação da instância de VM. Se o campo mostrar Atualizar a configuração da instância, a atualização na reparação está ativada.

gcloud

Use o comando describe da seguinte forma:

gcloud compute instance-groups managed describe MIG_NAME \
--format="(instanceLifecyclePolicy)"

No corpo da resposta, procure o campo forceUpdateOnRepair, que tem um dos seguintes valores:

  • NO: predefinição. O MIG não atualiza as VMs quando são reparadas.
  • YES: o MIG atualiza as VMs durante a respetiva reparação.

Segue-se um exemplo de saída:

instanceLifecyclePolicy:
 forceUpdateOnRepair: YES

REST

Para um GIG zonal, use o método instanceGroupManagers.get ou, para um GIG regional, use o método regionInstanceGroupManagers.get.

Por exemplo, num MIG zonal, use o seguinte comando:

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

No corpo da resposta, procure o campo instanceLifecyclePolicy.forceUpdateOnRepair, que tem um dos seguintes valores:

  • NO: predefinição. O MIG não atualiza as VMs quando são reparadas.
  • YES: o MIG atualiza as VMs durante a respetiva reparação.

Segue-se um exemplo de resposta:

{
  ...
  "name": "example-mig",
  "targetSize": 12,
  ...
  "instanceLifecyclePolicy": {
    "forceUpdateOnRepair": "YES"
  },
  ...
}

Substitua o seguinte:

  • PROJECT_ID: o seu ID do projeto.
  • ZONE: a zona onde o MIG está localizado.
  • MIG_NAME: o nome do grupo de instâncias.

Desative a atualização na reparação

Quando o MIG repara uma VM, se quiser que o MIG use o modelo de instância original ou as configurações por instância que foram usadas para criar a VM, tem de desativar a atualização na reparação. Por predefinição, a atualização na reparação está desativada para um MIG.

Use a Google Cloud consola, a CLI gcloud ou o REST para desativar a atualização na reparação.

Consola

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

    Aceda a Grupos de instâncias

  2. Clique no nome do MIG onde quer desativar a atualização na reparação.

  3. Clique em Editar para modificar o MIG.

  4. Clique em Ciclo de vida da instância e autorreparação para expandir a secção.

  5. Na secção Atualizações durante a reparação da instância de VM, selecione Manter a mesma configuração da instância.

  6. Clique em Guardar.

gcloud

Use o comando update para definir a flag --no-force-update-on-repair da seguinte forma:

gcloud compute instance-groups managed update MIG_NAME \
    --no-force-update-on-repair

REST

Para um GIG zonal, use o método instanceGroupManagers.patch ou, para um GIG regional, use o método regionInstanceGroupManagers.patch.

Por exemplo, para desativar a atualização na reparação de um MIG zonal, use o seguinte comando:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy":
{ "forceUpdateOnRepair": NO
}
}

Substitua o seguinte:

  • PROJECT_ID: o seu ID do projeto.
  • ZONE: a zona onde o MIG está localizado.
  • MIG_NAME: o nome do grupo de instâncias.

O que se segue?