Cómo ver el cierre elegante en una instancia de Compute Engine


En este documento, se explica cómo ver la configuración y el progreso de un apagado suave en una instancia de Compute Engine. Para obtener más información sobre el cierre elegante, consulta la descripción general del cierre elegante.

Cuando veas los detalles de una instancia, podrás hacer lo siguiente:

  • Consulta la configuración de apagado elegante. Puedes verificar si el apagado elegante está habilitado y cuánto dura.

  • Supervisa el apagado ordenado. Cuando se está realizando un apagado elegante, puedes verificar lo siguiente:

    • Cuando se agota el tiempo de espera del proceso de cierre ordenado.

    • Si hay una operación de detención o eliminación en curso.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles obligatorios

Para obtener el permiso que necesitas para ver el cierre elegante de una instancia de procesamiento, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso compute.instances.get on the project, que se requiere para ver el cierre elegante de una instancia de procesamiento.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Consulta la configuración de apagado elegante

Para ver la configuración de apagado elegante en una instancia de procesamiento, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la columna Nombre, haz clic en el nombre de tu instancia.

    Se abrirá la página de detalles de la instancia en la pestaña Detalles.

  3. Para verificar la configuración del cierre ordenado, en la sección Políticas de disponibilidad, verifica el valor del campo Duración máxima del cierre ordenado. Este campo muestra el período de apagado elegante. Si muestra un guion (-), el cierre ordenado está inhabilitado.

gcloud

Para ver la configuración de cierre elegante en una instancia, usa el comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: El nombre de la instancia.

  • ZONE: Es la zona en la que existe la instancia.

Si el cierre elegante está habilitado, el resultado es similar al siguiente:

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

El resultado incluye el valor MAX_DURATION. Este valor indica cuánto dura el período de apagado elegante en segundos. Si no especificaste un período de apagado personalizado cuando habilitaste el apagado elegante en la instancia, Compute Engine omite el campo maxDuration y establece el período de apagado elegante en 10 minutos.

REST

Para ver la configuración de apagado elegante en una instancia, realiza una solicitud GET al método instances.get beta:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que creaste la instancia.

  • ZONE: Es la zona en la que existe la instancia.

  • INSTANCE_NAME: El nombre de la instancia.

Si el cierre elegante está habilitado, el resultado es similar al siguiente:

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

El resultado incluye el valor MAX_DURATION. Este valor indica cuánto dura el período de apagado elegante en segundos. Si no especificaste un período de apagado personalizado cuando habilitaste el apagado elegante en la instancia, Compute Engine omite el campo maxDuration y establece el período de apagado elegante en 10 minutos.

Supervisa el cierre ordenado

Para supervisar un cierre elegante en curso en una instancia de procesamiento, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la columna Nombre, haz clic en el nombre de tu instancia.

    Se abrirá la página de detalles de la instancia en la pestaña Detalles.

  3. Si se está realizando un apagado elegante, en la sección Información básica, verifica los siguientes campos:

    • Estado: Este campo muestra el estado de tu instancia. Durante un cierre ordenado, este campo muestra Pérdida pendiente y un temporizador de cuenta regresiva. El temporizador realiza una cuenta regresiva hasta el momento en que finaliza el apagado elegante.

    • Estado objetivo: Este campo muestra si Compute Engine detiene (Detenida) o borra (Borrada) la instancia.

gcloud

Para supervisar un cierre elegante en curso en una instancia, usa el comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: El nombre de la instancia.

  • ZONE: Es la zona en la que existe la instancia.

Si se está realizando un cierre elegante, el resultado es similar al siguiente:

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

En esta salida, se incluyen los siguientes valores:

  • MAX_DURATION: Es la duración del período de apagado elegante en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

  • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó STOP_STATE.

  • STOP_STATE: La fase de detención de la instancia. El valor puede ser uno de los siguientes:

    • PENDING_STOP: Compute Engine inició el apagado elegante. La instancia permanece en este estado hasta que finalices manualmente el apagado elegante o se agote el tiempo de espera del apagado elegante.

    • STOPPING: Finalizó el cierre elegante, y Compute Engine continúa con la operación de detención o eliminación.

  • TARGET_STATE: Indica si Compute Engine detiene (STOPPED) o borra (DELETED) la instancia.

Si se está ejecutando una operación de detención, después de que Compute Engine configure el campo status como TERMINATE, borrará el campo shutdownDetails.

REST

Para supervisar un apagado elegante en curso en una instancia, realiza una solicitud GET al método instances.get beta:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que creaste la instancia.

  • ZONE: Es la zona en la que existe la instancia.

  • INSTANCE_NAME: El nombre de la instancia.

Si se está realizando un cierre elegante, el resultado es similar al siguiente:

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

En esta salida, se incluyen los siguientes valores:

  • MAX_DURATION: Es la duración del período de apagado elegante en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

  • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó STOP_STATE.

  • STOP_STATE: La fase de detención de la instancia. El valor puede ser uno de los siguientes:

    • PENDING_STOP: Compute Engine inició el apagado elegante. La instancia permanece en este estado hasta que finalices manualmente el apagado elegante o se agote el tiempo de espera del apagado elegante.

    • STOPPING: Finalizó el cierre elegante, y Compute Engine continúa con la operación de detención o eliminación.

  • TARGET_STATE: Indica si Compute Engine detiene (STOPPED) o borra (DELETED) la instancia.

Si se está ejecutando una operación de detención, después de que Compute Engine configure el campo status como TERMINATE, borrará el campo shutdownDetails.

Servidor de metadatos

  1. Conéctate a la instancia.

  2. Consulta el servidor de metadatos:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Si se está realizando un cierre elegante, el resultado es similar al siguiente:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    El resultado incluye los siguientes valores:

    • MAX_DURATION: Es la duración del período de apagado elegante en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

    • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó STOP_STATE.

    • STOP_STATE: La fase de detención de la instancia. El valor puede ser uno de los siguientes:

      • PENDING_STOP: Compute Engine inició el apagado elegante. La instancia permanece en este estado hasta que finalices el apagado ordenado de forma manual o se agote el tiempo de espera.

      • STOPPING: Finalizó el cierre elegante, y Compute Engine continúa con la operación de detención o eliminación.

    • TARGET_STATE: Indica si Compute Engine detiene (STOPPED) o borra (DELETED) la instancia.

¿Qué sigue?