Simula un evento de mantenimiento de host


En esta página, se describe cómo probar los efectos de la política de mantenimiento del host de la instancia de máquina virtual (VM) en las aplicaciones.

Puedes simular un evento de mantenimiento en tus VM en las siguientes situaciones:

  • Tienes VM configuradas para la migración en vivo durante los eventos de mantenimiento y necesitas probar los efectos de este tipo de migración en tus aplicaciones.
  • Tienes trabajos por lotes en ejecución en instancias de VM interrumpibles y necesitas probar de qué modo tus aplicaciones manejan la interrupción y el cierre de una o más instancias.
  • Las instancias están configuradas para que se detengan y reinicien durante los eventos de mantenimiento en lugar de migrar en vivo. Debes probar de qué forma tus aplicaciones manejan este proceso de cierre y reinicio.
  • Deseas probar cómo se comportan las cargas de trabajo que se ejecutan en nodos de usuario único durante un evento de mantenimiento del host y ver los efectos de la política de mantenimiento del host de las VM de usuario único en las aplicaciones que se ejecutan en las VM.

Antes de comenzar

  • Revisa el límite de frecuencia de la API para la métrica simulate_maintenance_event_requests.
  • 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 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

Limitaciones

  • Si intentas simular un evento de mantenimiento del host en VM que no admiten la migración en vivo, estas se finalizan o se reinician según la política de mantenimiento del host configurada.

  • Cuando intentas simular un evento de mantenimiento del host en un grupo de nodos que tiene configurada la política de mantenimiento del host para migrar dentro del grupo de nodos, si la cantidad de nodos especificada es menor o igual que la cantidad total de nodos de retención que están reservados, la simulación del evento de mantenimiento del host se ejecuta para todos los nodos especificados de manera simultánea. Mientras que, si la cantidad de nodos especificada es mayor que la cantidad total de nodos de retención reservados, la simulación falla.

  • Para simular de forma correcta un evento de mantenimiento en un grupo de nodos que tiene configurada una política de mantenimiento del host para migrar dentro del grupo de nodos, debes activar el evento de mantenimiento de forma secuencial en cada nodo.

Simula eventos de mantenimiento del host

Puedes simular un evento de mantenimiento en una VM con Google Cloud CLI o una solicitud a la API.

Durante la simulación del evento de mantenimiento del host, la clave de metadatos maintenance-event de la VM pasa por los siguientes cambios:

  1. Al comienzo de la simulación, el valor de la clave de metadatos maintenance-event cambia de NONE a MIGRATE_ON_HOST_MAINTENANCE.
  2. Durante la duración del evento de simulación, el valor permanece como MIGRATE_ON_HOST_MAINTENANCE.
  3. Cuando la simulación finaliza, el valor vuelve a ser NONE.

Para consultar la clave del evento de mantenimiento, revisa Consulta la clave de metadatos del evento de mantenimiento.

gcloud

Ejecuta el comando instances simulate-maintenance-event para forzar a una instancia a activar su acción de política de mantenimiento configurada:

gcloud compute instances simulate-maintenance-event VM_NAME \
    --zone ZONE

Reemplaza lo siguiente:

  • VM_NAME: Es el nombre de la VM en la que deseas simular el evento de mantenimiento.

    Puedes especificar varios nombres de VM separados por un solo espacio para simular los eventos de mantenimiento en más de una VM en la misma zona. Por ejemplo, instance-1 instance-2 instance-3.

  • ZONE: Es la zona en la que se encuentra la instancia.

REST

En la API de Compute Engine, realiza una solicitud al método compute.instances.simulateMaintenanceEvent:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de esta solicitud.
  • VM_NAME: Es el nombre de la instancia en la que deseas simular el evento de mantenimiento.

    Puedes especificar varios nombres de instancias separados por un solo espacio para simular los eventos de mantenimiento en más de una instancia en la misma zona. Por ejemplo, instance-1 instance-2 instance-3.

  • ZONE: Es la zona en la que se encuentra la instancia.

Simula eventos de mantenimiento del host en nodos de usuario único

Puedes simular un evento de mantenimiento del host en nodos de usuario único con Google Cloud CLI o una solicitud a la API. Durante la simulación del evento de mantenimiento del host en una VM de usuario único, el valor de la clave de metadatos maintenance-event no cambia y permanece NONE durante toda la simulación.

gcloud

Ejecuta el comando sole-tenancy node-groups simulate-maintenance-event para forzar a los nodos de usuario único a activar su política de mantenimiento configurada:

 gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \
    --nodes=NODE_NAMES \
    --zone=ZONE \
    --async

Reemplaza lo siguiente:

  • NODE_GROUP: Es el nombre del grupo de nodos en el que deseas simular el evento de mantenimiento.

  • NODE_NAMES: Son los nombres de los nodos en los que deseas simular el evento de mantenimiento. Cuando especifiques varios nombres de nodos, usa valores separados por comas, por ejemplo, node-1,node-2,node-3.

  • ZONE: Es la zona en la que se encuentran los nodos.

REST

En la API de Compute Engine, realiza una solicitud al método compute.nodeGroups.simulateMaintenanceEvent:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent

{
  "nodes": [NODE_NAMES]
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de esta solicitud.

  • ZONE: Es la zona en la que se encuentran los nodos.

  • NODE_GROUP: Es el nombre del grupo de nodos en el que deseas simular el evento de mantenimiento.

  • NODE_NAMES: Son los nombres de los nodos en los que deseas simular el evento de mantenimiento. Encierra el nombre del nodo entre comillas dobles, por ejemplo, "node-1". Además, mientras especificas varios nombres de nodos, usa valores separados por comas, por ejemplo, "node-1","node-2","node-3".

¿Qué sigue?