Configura una política de mantenimiento del host de VM


En este documento, se describe cómo puedes configurar la política de mantenimiento del host de una instancia de máquina virtual (VM) para configurar el comportamiento de la VM cuando se produce un evento del host.

Antes de comenzar

Limitaciones

  • No puedes cambiar la política de mantenimiento del host de una VM interrumpible. Cuando hay un evento de mantenimiento, la VM interrumpible se detiene y no se migra. Debes reiniciar de forma manual la VM interrumpida.
  • Después de crear una VM mediante un tipo de máquina E2, no podrás cambiar la configuración de mantenimiento del host de la VM de Migrate a Terminate, ni viceversa.

Configura la política de mantenimiento del host de una VM

Puedes cambiar la política de mantenimiento del host de una VM la primera vez que creas una VM o después de crear la VM mediante el método setScheduling. Para configurar el comportamiento de mantenimiento de una VM, el comportamiento de reinicio y el tiempo de detección de errores del host, usa las propiedades onHostMaintenance, automaticRestart y hostErrorTimeoutSeconds. Compute Engine configura todas las VM con valores predeterminados, a menos que especifiques lo contrario.

  • onHostMaintenance: Determina el comportamiento cuando ocurre un evento de mantenimiento que podría hacer que la VM se reinicie.

    • MIGRATE: Hace que Compute Engine realice la migración en vivo de una instancia cuando se produce un evento de mantenimiento. Este es el valor predeterminado.
    • TERMINATE: Detiene una VM en lugar de migrarla.
  • automaticRestart: Determina el comportamiento cuando una VM falla o el sistema la detiene.

    • true: Compute Engine reinicia una instancia si esta falla o se detiene. Este es el valor predeterminado.
    • false: Compute Engine no reinicia la VM si esta falla o se detiene.
  • hostErrorTimeoutSeconds (Vista previa): Configura la cantidad máxima de tiempo, en segundos, que Compute Engine espera para reiniciar o finalizar una VM después de detectar que esta no responde.

    • [Predeterminado] sin configurar, Compute Engine espera hasta 5.5 minutos (330 segundos) antes de reiniciar una VM que no responde.
    • Cantidad de segundos entre 90 y 330, en incrementos de 30, que establece el tiempo que Compute Engine espera antes de reiniciar una VM que no responde.

Todas las VM se configuran con valores predeterminados, a menos que especifiques explícitamente lo contrario.

Configura la política de mantenimiento del host durante la creación de la VM

Console

  1. En Google Cloud Console, ve a la página Crea una instancia.

    Ir a Crear una instancia

  2. Expande la sección Herramientas de redes, discos, seguridad, administración, instancia única y sigue estos pasos:

    1. Expande la sección Administración.
    2. En la lista Reinicio automático, selecciona la opción que desees.
    3. En la lista Mantenimiento en el host, selecciona la opción que desees.
  3. Para crear la VM, haz clic en Crear.

gcloud

Para establecer la política de mantenimiento del host de una VM nueva en gcloud compute, usa la marca --maintenance-policy a fin de especificar si la VM debe migrarse o detenerse. De forma predeterminada, las VM están configuradas para reiniciarse de manera automática, a menos que proporciones la marca --no-restart-on-failure.

A fin de especificar la cantidad máxima de tiempo que Compute Engine espera para reiniciar o finalizar una VM después de detectar que esta no responde, usa la marca --host-error-timeout-seconds (Vista previa).

gcloud compute instances create VM_NAME \
    --maintenance-policy=MAINTENANCE_POLICY \
    --host-error-timeout-seconds=NUMBER_OF_SECONDS \
    [--no-restart-on-failure]

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM
  • MAINTENANCE_POLICY: la política para esta VM, ya sea TERMINATE o MIGRATE.
  • NUMBER_OF_SECONDS: la cantidad de segundos que Compute Engine espera antes de reiniciar una VM que no responde, entre 90 y 330, en incrementos de 30. Esta opción está disponible en la vista previa. Para usar esta opción, utiliza el comando gcloud beta compute instances create.

API

Para configurar la política de mantenimiento del host de una VM nueva mediante la API de Compute Engine, usa el método instances.insert.

En el cuerpo de la solicitud, agrega onHostMaintenance para especificar si la VM se migrará o se detendrá durante el mantenimiento del host. Las VM están configuradas de forma automática para reiniciarse después de un error de host, a menos que configures automaticRestart en false.

Para especificar la cantidad máxima de tiempo que Compute Engine espera a reiniciar o finalizar una VM después de detectar que esta no responde, agrega el parámetro hostErrorTimeoutSeconds (Vista previa) al cuerpo de la solicitud.

En la API, realiza una solicitud POST a la siguiente URL, pero reemplaza el proyecto y la zona con el ID de tu proyecto y la zona de la VM:

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

Reemplaza lo siguiente:

  • PROJECT_ID: el proyecto en el que deseas crear la VM
  • ZONE: la zona donde deseas crear la VM

Usa los parámetros onHostMaintenance, hostErrorTimeoutSeconds y automaticRestart como parte del cuerpo de la solicitud:

{
 "name": "VM_NAME",
 ...
 // User options for influencing this Instance's life cycle.
 "scheduling": {
   "onHostMaintenance": "MAINTENANCE_POLICY",
   "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS,
   "automaticRestart": RESTART_POLICY
 }
}

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM
  • MAINTENANCE_POLICY: la política para esta VM, ya sea TERMINATE o MIGRATE.
  • NUMBER_OF_SECONDS: la cantidad de segundos que Compute Engine espera antes de reiniciar una VM que no responde, entre 90 y 330, en incrementos de 30. Esta opción está disponible en la vista previa. Para usar esta opción, utiliza el método Beta instances.inset.
  • RESTART_POLICY: la política de reinicio de esta VM, que puede ser true o false

Actualiza la política de mantenimiento del host de una VM

Console

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

    Ir a Instancias de VM

  2. Haz clic en la VM en la que deseas cambiar la configuración. Se mostrará la página de detalles de la VM.

  3. En la página de detalles de la VM, completa los siguientes pasos:

    1. Haz clic en el botón Editar en la parte superior de la página.
    2. En Políticas de disponibilidad, actualiza la política según sea necesario. En la sección Políticas de disponibilidad, puedes configurar las opciones de Mantenimiento en el host y Reinicio automático.
    3. Haz clic en Guardar.

gcloud

Para actualizar la política de mantenimiento del host de una VM existente, usa el comando gcloud compute instances set-scheduling con los mismos parámetros y marcas que usaste en el comando de creación de VM anterior.

gcloud compute instances set-scheduling VM_NAME \
     --maintenance-policy=MAINTENANCE_POLICY \
     --host-error-timeout-seconds=NUMBER_OF_SECONDS \
     [--no-restart-on-failure | --restart-on-failure]

Reemplaza lo siguiente:

  • MAINTENANCE_POLICY: la política para esta VM, ya sea TERMINATE o MIGRATE.
  • VM_NAME: El nombre de la VM
  • NUMBER_OF_SECONDS: la cantidad de segundos que Compute Engine espera antes de reiniciar una VM que no responde, entre 90 y 330, en incrementos de 30. Esta opción está disponible en la vista previa. Para usar esta opción, utiliza el comando gcloud beta compute instances set-scheduling.

API

Para actualizar la política de mantenimiento del host de una VM existente, usa el método instances.setScheduling.

En el cuerpo de la solicitud, agrega onHostMaintenance para especificar si la VM se migrará o se detendrá durante el mantenimiento del host. Las VM están configuradas de forma automática para reiniciarse después de un error de host, a menos que configures automaticRestart en false.

Para especificar la cantidad máxima de tiempo que Compute Engine espera a reiniciar o finalizar una VM después de detectar que esta no responde, agrega el parámetro hostErrorTimeoutSeconds (Vista previa) al cuerpo de la solicitud.

En la API, realiza una solicitud POST a la siguiente URL:

https://compute.googleapis.com/compute/v1/projects/PROJECT_IDt/zones/ZONE/instances/VM_NAME/setScheduling

Reemplaza lo siguiente:

  • PROJECT_ID: el proyecto donde se ubica la VM
  • ZONE: La zona donde se ubica la VM.
  • VM_NAME: El nombre de la VM

Usa los parámetros onHostMaintenance, hostErrorTimeoutSeconds y automaticRestart como parte del cuerpo de la solicitud:

{
 "onHostMaintenance": "MAINTENANCE_POLICY",
 "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS,
 "automaticRestart": RESTART_POLICY
}

Reemplaza lo siguiente:

  • MAINTENANCE_POLICY: la política para esta VM, ya sea TERMINATE o MIGRATE.
  • NUMBER_OF_SECONDS: la cantidad de segundos que Compute Engine espera antes de reiniciar una VM que no responde, entre 90 y 330, en incrementos de 30. Esta opción está disponible en la vista previa. Para usar esta opción, utiliza el método Beta instances().setScheduling.

  • RESTART_POLICY: la política de reinicio de esta VM, que puede ser true o false

¿Qué sigue?