Existem vários problemas que podem impedir que um grupo de instâncias gerido (MIG) crie ou recrie com êxito uma instância da VM.
Se forem gerados registos para um MIG eliminado
O problema pode estar relacionado com as seguintes situações.
O redimensionador automático associado ainda existe
Se eliminou um GIG através da API Compute Engine e não enviou um pedido separado para eliminar o escalador automático anexado, o Explorador de registos pode apresentar registos com a seguinte mensagem.
The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.
Resolução:
Para resolver este problema, elimine o escalador automático anexado através dos métodos da API Compute Engine:
- Para um escalador automático de um MIG zonal, use o método
autoscalers.delete
. - Para um escalador automático de um MIG regional, use o método
regionAutoscalers.delete
.
Se o MIG não conseguir criar nem recriar instâncias
O problema pode estar relacionado com as seguintes situações.
O disco de arranque já existe
Por predefinição, é criado um novo disco persistente de arranque quando cria uma instância.
O nome do disco de arranque corresponde ao nome da VM. Se atribuir o nome my-instance
a uma VM, o disco também recebe o nome my-instance
. Se já existir um disco persistente com esse nome, o pedido falha. Para resolver este problema, pode tirar uma captura de ecrã opcionalmente e, em seguida, eliminar o disco persistente existente.
O modelo de instância não é válido
Se atualizou recentemente o modelo de instância, pode existir uma propriedade inválida que faça com que o MIG falhe a criação de VMs. Examine as propriedades para verificar se existem estes erros comuns:
- Especificou um recurso que não existe, como uma imagem de origem.
- Escreveu incorretamente um nome de recurso.
- Tentou anexar um disco persistente existente no modo de leitura/escrita, mas o seu grupo contém mais do que uma VM. Para grupos com mais de uma VM, quaisquer discos adicionais que queira partilhar entre todas as VMs no grupo só podem ser anexados no modo de leitura.
Limite excedido para o tipo de recurso
O seguinte erro ocorre quando tenta criar mais de 2000 VMs num MIG regional ou mais de 1000 VMs num MIG zonal. Atingiu o limite de tamanho do seu 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 este problema, experimente uma das seguintes opções:
- Se estiver a usar um MIG zonal, use um MIG regional em alternativa.
- Crie vários MIGs e divida a sua carga de trabalho entre eles, por exemplo, ajustando a configuração do equilíbrio de carga.
- Se ainda precisar de um grupo maior, pode aumentar o limite de tamanho do seu MIG ou contactar o apoio técnico para fazer um pedido.
Se não conseguir eliminar o MIG ou as respetivas instâncias
O problema pode estar relacionado com a seguinte situação.
Recurso não encontrado na zona ou região
O seguinte erro ocorre quando tenta eliminar um MIG regional e
especifica a flag --zone
, não especifica nenhuma região ou especifica a região errada.
Pode ocorrer um erro semelhante se tentar eliminar um MIG zonal e especificar a flag --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 este problema, experimente uma das seguintes opções:
- Anexe a flag
--region
ou--zone
adequada ao seu comando - Defina uma região e uma zona predefinidas
O recurso é usado por um serviço de back-end
Não pode remover um grupo de instâncias quando é usado pelo serviço de back-end de um equilibrador de carga. Tem de remover a instância do serviço de back-end antes de poder eliminar 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:
Opcional: esvazie o grupo de instâncias do back-end.
Para equilibradores de carga de proxy apenas, pode definir o escalador de capacidade para
0.0
antes de remover o grupo de instâncias de um serviço de back-end. Pode definir o fator de escala da capacidade como zero através do comandogcloud compute backend-services edit
.Para os balanceadores de carga de proxy e de passagem, se ativar a drenagem de ligações no serviço de back-end, Google Cloud tenta permitir que as ligações existentes persistam, sejam concluídas e drenadas sempre que um grupo de instâncias seja removido de um serviço de back-end.
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]
Elimine o MIG:
gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
Se o MIG tentar continuamente recriar instâncias
O problema pode estar relacionado com a seguinte situação.
As sondas de verificação de funcionamento não conseguem alcançar a instância
Se configurou uma política de autocorreção, mas não configurou, ou configurou incorretamente, a regra de firewall que permite que as sondas de verificação de estado alcancem a sua aplicação, as VMs aparecem como não estando em bom estado e o MIG tenta recriá-las continuamente. Para obter informações sobre como configurar uma regra de firewall de verificação de funcionamento, consulte o artigo Exemplo de configuração de verificação de funcionamento.