Solucionar problemas de grupos de instancias gestionados


Hay varios problemas que pueden impedir que un grupo de instancias gestionadas (GIG) cree o vuelva a crear una instancia de VM correctamente.

Si se generan registros de un MIG eliminado

El problema puede estar relacionado con las siguientes situaciones.

La herramienta de escalado automático adjunta sigue existiendo

Si elimina un MIG mediante la API de Compute Engine y no envía una solicitud independiente para eliminar el escalador automático asociado, es posible que el Explorador de registros muestre registros con el siguiente mensaje.

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

Resolución:

Para solucionar este problema, elimina el escalador automático adjunto mediante los métodos de la API Compute Engine:

Si tu MIG no puede crear ni recrear instancias

El problema puede estar relacionado con las siguientes situaciones.

El disco de arranque ya existe

De forma predeterminada, se crea un disco persistente de arranque al crear una instancia. El nombre del disco de arranque coincide con el nombre de la VM. Si le asignas un nombre a una máquina virtual my-instance, el disco también se llamará my-instance. Si ya existe un disco persistente con ese nombre, la solicitud falla. Para solucionar este problema, puedes crear una instantánea (opcional) y, a continuación, eliminar el disco persistente.

La plantilla de instancia no es válida

Si has actualizado la plantilla de instancia recientemente, puede que haya una propiedad no válida que provoque que la MIG no pueda crear VMs. Examina las propiedades para detectar estos errores habituales:

  • Has especificado un recurso que no existe, como una imagen de origen.
  • Has escrito mal el nombre de un recurso.
  • Has intentado conectar un disco persistente que no es de arranque en modo de lectura y escritura, pero tu grupo contiene más de una VM. En los grupos con más de una VM, los discos adicionales que quieras compartir entre todas las VMs del grupo solo se pueden montar en el modo de solo lectura.

Se ha superado el límite del tipo de recurso

Se produce el siguiente error cuando intentas crear más de 2000 VMs en un MIG regional o más de 1000 VMs en un MIG zonal. Has alcanzado el límite de tamaño de tu grupo de instancias.

Mensaje de error:

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

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

Resolución:

Para solucionar este problema, prueba una de las siguientes opciones:

Si no puedes eliminar tu MIG o sus instancias

El problema puede estar relacionado con la siguiente situación.

No se ha encontrado el recurso en la zona o la región

El siguiente error se produce cuando intentas eliminar un MIG regional y especificas la marca --zone, no especificas ninguna región o especificas una región incorrecta. Se puede producir un error similar si intentas eliminar un MIG zonal y especificas la marca --region.

Mensaje de error:

  • 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
    

Resolución:

Para solucionar este problema, prueba una de las siguientes opciones:

El recurso lo usa un servicio de backend

No puedes quitar un grupo de instancias cuando lo usa el servicio de backend de un balanceador de carga. Debes quitar la instancia del servicio backend para poder eliminar el grupo de instancias.

Mensaje de error:

  • 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

Resolución:

  1. Opcional: Vacía el grupo de instancias de backend.

  2. Quita el MIG del servicio backend regional o global.

    • En el caso de un MIG zonal, ejecuta el siguiente comando:

      gcloud compute backend-services remove-backend BACKEND_SERVICE \
          --instance-group=INSTANCE_GROUP_NAME \
          --instance-group-zone=ZONE \
          [--region=REGION | --global]
      
    • En el caso de un MIG regional, ejecuta el siguiente comando:

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

    gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
    

Si tu MIG intenta recrear instancias continuamente

El problema puede estar relacionado con la siguiente situación.

Las sondas de comprobación del estado no pueden acceder a la instancia

Si has configurado una política de recuperación automática, pero no has configurado (o has configurado incorrectamente) la regla de cortafuegos que permite que las sondas de comprobación del estado lleguen a tu aplicación, tus VMs aparecerán como no saludables y el MIG intentará recrearlas continuamente. Para obtener información sobre cómo configurar una regla de cortafuegos de comprobación del estado, consulta el artículo Ejemplo de configuración de comprobación del estado.