Como resolver problemas de grupos gerenciados de instâncias


Há vários problemas que podem impedir que um grupo gerenciado de instâncias (MIG, na sigla em inglês) crie ou recrie uma instância de VM.

Se os registros forem gerados para um MIG excluído

O problema pode estar relacionado às situações a seguir.

O escalonador automático anexado ainda existe

Se você excluiu um MIG usando a API Compute Engine e não enviou uma solicitação separada para excluir o escalonador automático anexado, o Explorador de registros poderá mostrar registros com a mensagem a seguir. de dois minutos.

The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.

Resolução:

Para resolver esse problema, exclua o escalonador automático anexado usando os métodos da API Compute Engine:

Se o MIG não puder criar ou recriar instâncias

O problema pode estar relacionado às situações a seguir.

O disco de inicialização já existe

Por padrão, um novo disco permanente de inicialização é criado quando você cria uma instância. O nome do disco de inicialização corresponde ao nome da VM. Se você nomear uma VM como my-instance, o disco também será chamado de my-instance. Se já existir um disco permanente com esse nome, haverá uma falha na solicitação. Para resolver esse problema, você pode criar um snapshot e excluir o disco permanente atual.

O modelo de instância não é válido

Se você atualizou o modelo de instância recentemente, talvez haja uma propriedade inválida que faz com que o MIG falhe na criação da VM. Examine as propriedades desses erros comuns:

  • Você especificou um recurso que não existe, como uma imagem de origem.
  • Você escreveu um nome de recurso incorretamente.
  • Você tentou anexar um disco permanente que não é de inicialização no modo de leitura e gravação, mas seu grupo contém mais de uma VM. Para grupos com mais de uma VM, os discos adicionais que você quer compartilhar entre todas as VMs do grupo só podem ser anexados no modo somente leitura.

Limite excedido para o tipo de recurso

O erro a seguir ocorre quando você tenta criar mais de 2.000 VMs em um MIG regional ou mais de 1.000 VMs em um MIG zonal. Você atingiu o limite de tamanho do grupo de instâncias.

Mensagem de erro:

ERROR: (gcloud.compute.<INSTANCE_GROUP_TYPE>.<METHOD>) Could not
fetch resource:

 - Exceeded limit 'MAX_INSTANCES_IN_INSTANCE_GROUP' on resource 'PROJECT_ID'.
 Limit: NUMBER

Resolução:

Para resolver esse problema, tente uma das seguintes opções:

Se não for possível excluir o MIG ou as instâncias dele

O problema pode estar relacionado à seguinte situação.

Recurso não encontrado na zona ou região

O seguinte erro ocorre quando você tenta excluir um MIG regional e especifica a sinalização --zone, não especifica nenhuma região ou especifica a região errada. Um erro semelhante poderá ocorrer se você tentar excluir um MIG zonal e especificar a sinalização --region.

Mensagem de erro:

  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
    
  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
    

Resolução:

Para resolver esse problema, tente uma das seguintes opções:

O recurso é usado por um serviço de back-end

Não é possível remover um grupo de instâncias usado pelo serviço de back-end de um balanceador de carga. É preciso remover a instância do serviço de back-end antes de excluir o grupo de instâncias.

Mensagem de erro:

  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The instance_group_manager resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE
  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The instance_group_manager resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE

Resolução:

  1. Opcional: drene o grupo de instâncias de back-end.

  2. Remova o MIG do serviço de back-end regional ou global.

    • Para um MIG zonal, execute o seguinte comando:

      gcloud compute backend-services remove-backend BACKEND_SERVICE \
          --instance-group=INSTANCE_GROUP_NAME \
          --instance-group-zone=ZONE \
          [--region=REGION | --global]
      
    • Para um MIG regional, execute o seguinte comando:

      gcloud compute backend-services remove-backend BACKEND_SERVICE  \
          --instance-group=INSTANCE_GROUP_NAME \
          --instance-group-region=REGION \
          [--region=REGION | --global]
      
  3. Exclua o MIG:

    gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
    

Se o MIG ficar tentando recriar instâncias

O problema pode estar relacionado à seguinte situação.

As sondagens de verificação de integridade não conseguem alcançar a instância

Se você configurou uma política de recuperação automática, mas não configurou (ou configurou incorretamente) a regra de firewall que permite que as sondagens de verificação de integridade alcancem seu aplicativo, então suas VMs aparecerão como não íntegras, e o MIG tentará recriá-las continuamente. Saiba mais sobre como configurar uma regra de firewall de verificação de integridade em Exemplo de configuração de verificação de integridade.