Simular un evento de mantenimiento del host


Esta página describe cómo probar los efectos de la política de mantenimiento de host de tu instancia de Compute Engine en tus aplicaciones.

Puede simular un evento de mantenimiento en sus máquinas virtuales para probar lo siguiente:

Si intenta simular un evento de mantenimiento del host en una instancia que no admite la migración en vivo , la instancia finaliza o se reinicia, según la política de mantenimiento del host configurada.

Antes de comenzar

  • Revise el límite de tasa de API regional para SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion .
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. 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:

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Limitaciones

  • Para simular correctamente un evento de mantenimiento en un grupo de nodos de inquilino único que tiene una política de mantenimiento de host configurada para migrar dentro del grupo de nodos , debe activar el evento de mantenimiento de forma secuencial en cada nodo.
  • Para un grupo de nodos de único inquilino, cuando intenta simular un evento de mantenimiento de host y el grupo de nodos tiene una política de mantenimiento de host configurada para migrar dentro del grupo de nodos:
    • Si el número de nodos especificado es menor o igual que el número total de nodos de retención reservados, la simulación del evento de mantenimiento del host se ejecuta para todos los nodos especificados simultáneamente.
    • Si el número de nodos especificados es mayor que el número total de nodos de retención reservados, la simulación falla.
  • La cantidad de simulaciones de eventos de mantenimiento que puede iniciar por minuto por región está limitada por el límite de tasa de API para la métrica simulate_maintenance_event_requests_per_region .

Simule eventos de mantenimiento del host para probar la migración en vivo

Puedes simular un evento de mantenimiento para una instancia informática mediante la CLI de Google Cloud o una solicitud de API. Este evento simulado incluye las diferentes actividades de mantenimiento que ocurren en un evento de mantenimiento regular. Esto le permite observar el proceso de un extremo a otro y probar cualquier automatización que haya implementado.

Durante la simulación del evento de mantenimiento del host para una instancia que utiliza migración en vivo, la clave de metadatos del maintenance-event de la instancia 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. Una vez finalizada la simulación, el valor vuelve a NONE .

Para consultar la clave del evento de mantenimiento, consulte Consultar la clave de metadatos del evento de mantenimiento .

nube de gcloud

Utilice el comando compute instances simulate-maintenance-event para simular un evento de mantenimiento para una instancia y probar sus ajustes de política de mantenimiento de host configurados:

gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
    --zone=ZONE --with-extended-notifications=True

Reemplace lo siguiente:

  • INSTANCE_NAME : el nombre de la instancia informática donde desea simular el evento de mantenimiento.

    Puede especificar varios nombres de instancias separados por espacios individuales para simular eventos de mantenimiento en más de una instancia en la misma zona. Por ejemplo, instance-1 instance-2 instance-3 .

  • ZONE : la zona donde se encuentra la instancia.

DESCANSAR

Construya una solicitud POST para el método compute.instances.simulateMaintenanceEvent :

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

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto para esta solicitud.
  • INSTANCE_NAME : el nombre de la instancia para la que desea simular el evento de mantenimiento.
  • ZONE : la zona donde se encuentra la instancia.

Simular el mantenimiento del host para instancias informáticas que finalizan

Puedes simular un evento de mantenimiento para una instancia informática mediante la CLI de Google Cloud o una solicitud de API. Este evento simulado incluye las diferentes actividades de mantenimiento que ocurren en un evento de mantenimiento regular. Esto le permite observar el proceso de un extremo a otro y probar cualquier automatización que haya implementado.

Además, al utilizar el parámetro --with-extended-notifications con un tipo de máquina compatible, puede probar el inicio manual del mantenimiento del host durante el evento simulado.

nube de gcloud

  1. Utilice el comando compute instances simulate-maintenance-event para simular un evento de mantenimiento para una instancia y probar sus ajustes de política de mantenimiento de host configurados. Opcionalmente, puede incluir el indicador --with-extended-notifications .

    gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
       --zone=ZONE --with-extended-notifications=True
    

    Reemplace lo siguiente:

    • INSTANCE_NAME : el nombre de la instancia informática donde desea simular el evento de mantenimiento.

      Puede especificar varios nombres de instancias separados por espacios individuales para simular eventos de mantenimiento en más de una instancia en la misma zona. Por ejemplo, instance-1 instance-2 instance-3 .

    • ZONE : la zona donde se encuentra la instancia.

  2. Opcional: para iniciar manualmente el evento de mantenimiento simulado, utilice el comando compute instances perform-maintenance .

    gcloud compute instances perform-maintenance INSTANCE_NAME \
       --zone=ZONE
    

    Reemplace lo siguiente:

    • INSTANCE_NAME : el nombre de la instancia informática donde desea simular el evento de mantenimiento.

      Puede especificar varios nombres de instancias separados por espacios individuales para simular eventos de mantenimiento en más de una instancia en la misma zona. Por ejemplo, instance-1 instance-2 instance-3 .

    • ZONE : la zona donde se encuentran las instancias.

DESCANSAR

  1. Construya una solicitud POST para el método compute.instances.simulateMaintenanceEvent . Opcionalmente, puede incluir el parámetro de consulta withExtendedNotifications .

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
    

    Reemplace lo siguiente:

    • PROJECT_ID : el ID del proyecto para esta solicitud.
    • INSTANCE_NAME : el nombre de la instancia para la que desea simular el evento de mantenimiento.
    • ZONE : la zona donde se encuentra la instancia.
  2. Opcional: para iniciar manualmente el evento de mantenimiento simulado, cree una solicitud POST para el método compute.instances.performMaintenance .

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
    

    Reemplace lo siguiente:

    • INSTANCE_NAME : el nombre de la instancia informática donde desea iniciar el evento de mantenimiento.

      Puede especificar varios nombres de instancia separados por espacios individuales para realizar eventos de mantenimiento en más de una instancia en la misma zona. Por ejemplo, instance-1 instance-2 instance-3 .

    • ZONE : la zona donde se encuentran las instancias.

Simule eventos de mantenimiento de host en nodos de único inquilino

Puede simular un evento de mantenimiento de host en nodos de inquilino único mediante la CLI de Google Cloud o una solicitud de API. Durante la simulación del evento de mantenimiento del host en una máquina virtual de inquilino único, el valor de la clave de metadatos maintenance-event no cambia y permanece NONE durante toda la simulación.

nube de gcloud

Ejecute el comando sole-tenancy node-groups simulate-maintenance-event para forzar a los nodos de único inquilino 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

Reemplace lo siguiente:

  • NODE_GROUP : el nombre del grupo de nodos donde desea simular el evento de mantenimiento.

  • NODE_NAMES : los nombres de los nodos donde desea simular el evento de mantenimiento. Al especificar varios nombres de nodos, utilice valores separados por comas, por ejemplo, node-1,node-2,node-3 .

  • ZONE : la zona donde se encuentran los nodos.

DESCANSAR

Construya una solicitud POST para el método compute.nodeGroups.simulateMaintenanceEvent :

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

{
  "nodes": [
      "NODE_NAMES"
  ]
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto para esta solicitud.
  • ZONE : la zona donde se encuentran los nodos.
  • NODE_GROUP : el nombre del grupo de nodos donde desea simular el evento de mantenimiento.
  • NODE_NAMES : los nombres de los nodos donde desea simular el evento de mantenimiento. Escriba el nombre del nodo entre comillas dobles, por ejemplo, "node-1" . Y, al especificar varios nombres de nodos, utilice valores separados por comas, por ejemplo, "node-1","node-2","node-3" .

¿Qué sigue?