Visualizar cancela o borra solicitudes de cambio de tamaño en un MIG


En este documento, se describe cómo hacer lo siguiente después de crear una solicitud de cambio de tamaño en un grupo de instancias administrado (MIG):

  • Visualiza solicitudes de cambio de tamaño en un MIG para supervisar sus estados o solucionar problemas.

  • Cancela las solicitudes de cambio de tamaño para evitar que un MIG cree la cantidad solicitada de instancias de máquina virtual (VM).

  • Borra solicitudes de cambio de tamaño.

Antes de comenzar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

Roles obligatorios

A fin de obtener los permisos que necesitas para ver, cancelar o borrar solicitudes de cambio de tamaño en un MIG, pídele a tu administrador que te otorgue el permiso Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) rol de IAM en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Este rol predefinido contiene los permisos necesarios para ver, cancelar o borrar las solicitudes de cambio de tamaño en un MIG. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver, cancelar o borrar las solicitudes de cambio de tamaño en un MIG:

  • Para cancelar o borrar solicitudes de cambio de tamaño en un MIG, haz lo siguiente: compute.instanceGroupManagers.update
  • Para ver una lista de las solicitudes de cambio de tamaño en un MIG, sigue estos pasos: compute.instanceGroupManagers.list
  • Para ver los detalles de una solicitud de cambio de tamaño, haz lo siguiente: compute.instanceGroupManagers.get

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos

Consulta tus solicitudes de cambio de tamaño

Según los detalles que desees ver en una solicitud de cambio de tamaño, usa uno de los siguientes métodos:

Visualiza una lista de solicitudes de cambio de tamaño en un MIG

Puedes ver una lista de todas las solicitudes de cambio de tamaño en un MIG y sus detalles, como los estados, la cantidad solicitada de VMs y la duración de la ejecución de las VMs.

Console

Para ver una lista de todas las solicitudes de cambio de tamaño en un MIG, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. En la columna Nombre, haz clic en el nombre del MIG que contiene las solicitudes de cambio de tamaño.

    Se abrirá la página de resumen del MIG.

  3. En la fila Solicitud de cambio de tamaño, haz clic en Editar solicitudes de cambio de tamaño.

    Aparecerá el panel Solicitudes de cambio de tamaño.

gcloud

Para ver una lista de todas las solicitudes de cambio de tamaño en un MIG, usa el comando beta instance-groups managed resize-requests list.

gcloud beta compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: El nombre de un MIG zonal existente con solicitudes aceptadas, correctas, canceladas o con errores.

  • ZONE: La zona en la que se encuentra el MIG.

El resultado es similar al siguiente:

NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D

NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D

REST

Para ver una lista de todas las solicitudes de cambio de tamaño en un MIG zonal, realiza una solicitud GET al método beta.instanceGroupManagerResizeRequests.list.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto en el que se encuentra un MIG zonal existente con solicitudes aceptadas, correctas, canceladas o con errores.

  • ZONE: La zona en la que se encuentra el MIG.

  • INSTANCE_GROUP_NAME: El nombre de un MIG zonal existente con solicitudes aceptadas, correctas, canceladas o con errores.

El resultado es similar al siguiente:

{
  "kind": "compute#instanceGroupManagerResizeRequestList",
  "id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
  "items": [
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "4247139565532196982",
      "creationTimestamp": "2024-01-08T07:51:53.034-08:00",
      "name": "rr-01",
      "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
      "count": 5,
      "resizeBy": 5,
      "requestedRunDuration": {
        "seconds": "86400",
        "nanos": 0
      },
      "state": "SUCCEEDED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
    },
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "8095866098849525652",
      "creationTimestamp": "2024-01-11T08:04:11.851-08:00",
      "name": "rr-02",
      "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
      "count": 10,
      "resizeBy": 10,
      "requestedRunDuration": {
        "seconds": "259200",
        "nanos": 0
      },
      "state": "ACCEPTED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

Visualiza los detalles de una solicitud de cambio de tamaño

Puedes ver los detalles de una solicitud de cambio de tamaño para revisar su configuración y, de manera opcional, solucionar problemas si la solicitud aún no se realizó de forma correcta.

Para comprender por qué una solicitud de cambio de tamaño (ACCEPTED) no funciona, revisa el campo lastAttempt.error.errors.code en los detalles. Los siguientes son los códigos de error posibles:

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Los recursos solicitados no están disponibles por el momento.

  • QUOTA_EXCEEDED: tu proyecto no tiene la cuota de los recursos solicitados. Para aumentar la cuota de tu proyecto, consulta Solicita una cuota más alta.

gcloud

Para ver los detalles de una solicitud de cambio de tamaño en un MIG zonal, usa el comando beta instance-groups managed resize-requests describe.

gcloud beta compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
    --resize-request=RESIZE_REQUEST_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: El nombre de un MIG zonal existente en el que se encuentra la solicitud de cambio de tamaño.

  • RESIZE_REQUEST_NAME: el nombre de una solicitud de cambio de tamaño existente de la que deseas ver los detalles.

  • ZONE: La zona en la que se encuentra el MIG.

El resultado es similar al siguiente:

creationTimestamp: '2024-01-10T07:51:53.034-08:00'
id: '4247139565532196982'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '6000'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request.
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a

REST

Para ver los detalles de una solicitud de cambio de tamaño en un MIG, realiza una solicitud GET al método beta.instanceGroupManagerResizeRequests.get.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que se encuentra el MIG zonal.

  • ZONE: La zona en la que se encuentra el MIG.

  • INSTANCE_GROUP_NAME: El nombre de un MIG zonal existente en el que se encuentra la solicitud de cambio de tamaño.

  • RESIZE_REQUEST_NAME: el nombre de una solicitud de cambio de tamaño existente de la que deseas ver los detalles.

El resultado es similar al siguiente:

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "4247139565532196982",
  "creationTimestamp": "2024-01-10T07:51:53.034-08:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
  "count": 10,
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "6000",
    "nanos": 0
  },
  "state": "ACCEPTED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request.",
          },
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
}

Cancela las solicitudes de cambio de tamaño en un MIG

Puedes cancelar las solicitudes de cambio de tamaño en un MIG para evitar que este intente crear la cantidad solicitada de VMs. Solo puedes cancelar las solicitudes de cambio de tamaño aceptadas (ACCEPTED). Después de cancelar una solicitud de cambio de tamaño, puedes borrarla o permitir que Compute Engine la borre de forma automática después de 14 días.

Para cancelar más de una solicitud de cambio de tamaño a la vez, usa la consola de Google Cloud o la CLI de gcloud.

Console

Para cancelar las solicitudes de cambio de tamaño en un MIG zonal, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. En la columna Nombre, haz clic en el nombre del MIG que contiene las solicitudes de cambio de tamaño.

    Se abrirá la página de resumen del MIG.

  3. En la fila Solicitud de cambio de tamaño, haz clic en Editar solicitudes de cambio de tamaño.

    Aparecerá el panel Solicitudes de cambio de tamaño.

  4. Selecciona las solicitudes de cambio de tamaño que quieres cancelar.

  5. Haz clic en Cancelar y, luego, en Confirmar.

gcloud

Para cancelar las solicitudes de cambio de tamaño en un MIG zonal, usa el comando beta instance-groups managed resize-requests cancel.

gcloud beta compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
    --resize-requests=RESIZE_REQUEST_NAMES \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: el nombre de un MIG zonal existente con solicitudes de cambio de tamaño aceptadas.

  • RESIZE_REQUEST_NAMES: una lista separada por comas de los nombres de las solicitudes de cambio de tamaño aceptadas en el MIG zonal especificado. Por ejemplo, especifica request-1,request-2.

  • ZONE: La zona en la que se encuentra el MIG.

REST

Para cancelar una solicitud de cambio de tamaño en un MIG zonal, realiza una solicitud POST al método beta.instanceGroupManagerResizeRequests.cancel.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que se encuentra un MIG zonal existente con una solicitud de cambio de tamaño aceptada.

  • ZONE: La zona en la que se encuentra el MIG.

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.

  • RESIZE_REQUEST_NAME: el nombre de la solicitud de cambio de tamaño que se cancelará.

Borra las solicitudes de cambio de tamaño en un MIG

De forma predeterminada, Compute Engine borra de forma automática una solicitud de cambio de tamaño 14 días después de configurar el estado de la solicitud en una de las siguientes opciones:

  • Correcta (SUCCEEDED)

  • Con errores (FAILED)

  • Cancelados (CANCELLED)

Sin embargo, puedes borrar de inmediato una solicitud de cambio de tamaño antes de esa fecha, como se describe en esta sección.

Borrar una solicitud de cambio de tamaño correcta no borra las VMs creadas a través de la solicitud. El MIG borra de forma automática esas VMs al final de la duración de ejecución solicitada. Sin embargo, si tu trabajo terminó de ejecutarse y ya no necesitas las VMs, borra las VMs.

Para borrar más de una solicitud de cambio de tamaño a la vez, usa la consola de Google Cloud o gcloud CLI.

Console

Para borrar las solicitudes de cambio de tamaño en un MIG zonal, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. En la columna Nombre, haz clic en el nombre del MIG que contiene las solicitudes de cambio de tamaño.

    Se abrirá la página de resumen del MIG.

  3. En la fila Solicitud de cambio de tamaño, haz clic en Editar solicitudes de cambio de tamaño.

    Aparecerá el panel Solicitudes de cambio de tamaño.

  4. Selecciona las solicitudes de cambio de tamaño que quieres borrar.

  5. Haz clic en Borrar y, luego, en Confirmar.

gcloud

Para borrar las solicitudes de cambio de tamaño en un MIG zonal, usa el comando beta instance-groups managed resize-requests delete.

gcloud beta compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \
    --resize-requests=RESIZE_REQUEST_NAMES \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: el nombre de un MIG zonal existente con solicitudes de cambio de tamaño correctas, con errores o canceladas.

  • RESIZE_REQUEST_NAMES: una lista separada por comas de los nombres de las solicitudes de cambio de tamaño que se borrarán en el MIG. Por ejemplo, especifica request-1,request-2.

  • ZONE: La zona en la que se encuentra el MIG.

REST

Para borrar una solicitud de cambio de tamaño en un MIG zonal, realiza una solicitud DELETE al método beta.instanceGroupManagerResizeRequests.delete.

DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que se encuentra un MIG zonal existente con solicitudes de cambio de tamaño correctas, con errores o canceladas.

  • ZONE: La zona en la que se encuentra el MIG.

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.

  • RESIZE_REQUEST_NAME: el nombre de la solicitud de cambio de tamaño que se borrará.

¿Qué sigue?