Activa un evento de mantenimiento del host


En esta página, se explica cómo activar un evento de mantenimiento del host en instancias específicas de la familia de VM. Esta función te permite iniciar de forma manual un evento de mantenimiento para controlar el tiempo del mantenimiento de la VM. Esto es útil para cargas de trabajo que podrían verse afectadas por un período de mantenimiento específico.

Puedes activar un evento de mantenimiento de forma manual para que se inicie de inmediato. No es posible activar un evento en una hora o fecha específicas. Si no usas esta función, el evento de mantenimiento se produce según lo programado.

Limitaciones

La activación de un evento de mantenimiento del host de VM se limita a los siguientes tipos de máquinas de VM:

Antes de comenzar

  • El inicio manual del mantenimiento de VMs solo está disponible en las VMs C3, C3D y Z3. Si usas VMs de otras familias de máquinas, revisa el documento Configura la política de mantenimiento del host.
  • 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:

    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

Funciones obligatorias

Para obtener los permisos que necesitas para crear VMs y administrar el mantenimiento de VMs, pídele a tu administrador que te otorgue el 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 crear VMs y administrar el mantenimiento de las VMs. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear VMs y administrar el mantenimiento de las VMs:

  • Para obtener información sobre una VM, haz lo siguiente: compute.instances.get
  • Para crear una VM: compute.instances.create

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

Activa el evento de mantenimiento del host

Google envía notificaciones sobre el próximo mantenimiento de VM mediante varios métodos. Puedes encontrar tus notificaciones si consultas las VMs, el servidor de metadatos o Cloud Logging.

Después de recibir una notificación sobre un evento de mantenimiento del host, tienes la opción de activar el mantenimiento de inmediato o esperar a que se realice el evento de mantenimiento según lo programado.

Inicia el evento de mantenimiento

Puedes iniciar el mantenimiento de la VM de inmediato, en lugar de esperar a la hora programada. Usa el método Google Cloud CLI o REST para activar el mantenimiento de la VM de inmediato.

Si no hay una notificación y, luego, intentas activar un evento de mantenimiento, se mostrará el siguiente mensaje:

There is no reschedulable upcoming maintenance.

Esto indica que no se programó ningún evento de mantenimiento y que no es necesario realizar ninguna acción.

gcloud

Para iniciar el mantenimiento de inmediato, usa el comando gcloud compute instances perform-maintenance. Debes incluir el --zone=[ZONE_NAME].

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

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM.
  • ZONE: La zona en la que reside la VM.

La respuesta es similar a la que se muestra a continuación:

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

En la respuesta, maintenanceStatus se configura como ONGOING. El mantenimiento está en curso.

REST

Para activar el mantenimiento de la' VM, ejecuta el comando instances.performMaintenance:

POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/performMaintenance

Reemplaza lo siguiente:

  • PROJECT_NAME: El nombre del proyecto.
  • ZONE: La zona en la que reside la VM.
  • VM_NAME: El nombre de la VM.

La respuesta es similar a la que se muestra a continuación:

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

En la respuesta, maintenanceStatus se configura como ONGOING. El mantenimiento está en curso.

Definiciones del estado de mantenimiento

Las siguientes definiciones de estado explican las respuestas a una consulta de mantenimiento de las VMs. Proporcionan información relacionada con el mantenimiento de las VMs. Google Cloud CLI, REST y el servidor de metadatos usan estas mismas respuestas:

  • windowStartTime: el inicio del período en el que se realiza el mantenimiento
  • windowEndTime: el final del período en el que se produce el mantenimiento
  • latestWindowStartTime: la primera hora a la que se puede mover el período
  • maintenanceType: el tipo de mantenimiento que se realizará
    • NONE: no hay mantenimiento programado para esta VM
    • SCHEDULED: el mantenimiento recibirá un aviso con 7 días de anticipación
    • UNSCHEDULED: el mantenimiento representa las actualizaciones críticas para las que se proporciona mucho menos aviso
  • canReschedule: Si el mantenimiento se puede activar durante el período de notificación de esta VM
    • TRUE: El mantenimiento activado por el cliente se puede realizar durante el período de notificación
    • FALSE: No se puede realizar el mantenimiento activado por el cliente en esta VM. Esto suele ocurrir durante el período en el que la VM se encuentra en mantenimiento
  • maintenanceStatus: el estado de la operación de mantenimiento actual
    • ONGOING: la operación de mantenimiento está en curso
    • PENDING: la operación de mantenimiento está programada, pero aún no se inició

Comportamientos del estado de mantenimiento

Mientras administras el programa de mantenimiento, verifica el estado de canReschedule= y maintenanceStatus=. Estas combinaciones de respuesta describen el comportamiento esperado de las características y muestran una de las siguientes combinaciones de estado:

  • Si es canReschedule=Yes y maintenanceStatus=Pending, puedes activar el mantenimiento en la VM.
  • Si canReschedule=No y maintenanceStatus=Ongoing, el mantenimiento ya está en curso.
  • Si canReschedule=No y maintenanceStatus=Pending no son compatibles con el mantenimiento activado de forma manual.

¿Qué sigue?