Ver notificaciones de mantenimiento
Un evento de mantenimiento del host se produce cuando Google Cloud tiene que llevar a cabo una actividad de mantenimiento o reparación en tu TPU. Google envía notificaciones sobre el mantenimiento de host programado antes de que se lleve a cabo. Cuando se abra la ventana de mantenimiento, Google Cloud realizará automáticamente el mantenimiento de tu instancia. Si monitorizas las próximas ventanas de mantenimiento de tu instancia, puedes preparar de forma proactiva tus cargas de trabajo para que se sometan al mantenimiento con las mínimas interrupciones posibles.
TPU de Cloud te permite ver las notificaciones de mantenimiento mediante la CLI de Google Cloud y consultando el servidor de metadatos. También puedes ver los eventos de mantenimiento programados en Cloud Logging. Para obtener información sobre cómo ver las notificaciones de mantenimiento de las TPUs en GKE, consulta el artículo Gestionar las interrupciones de nodos de GKE en GPUs y TPUs.
Campos de notificación de mantenimiento
Las notificaciones de mantenimiento contienen los siguientes campos:
windowStartTime
: el inicio del periodo durante el cual se realizará el mantenimiento.windowEndTime
: El final del periodo durante el cual se realizará el mantenimientolatestWindowStartTime
: la hora más tardía a la que se puede cambiar la ventana de mantenimiento.maintenanceType
: el tipo de mantenimiento que se va a realizarSCHEDULED
: se avisará con siete días de antelaciónUNSCHEDULED
: el mantenimiento representa actualizaciones críticas para las que se da menos aviso que para los eventos de mantenimiento programados.
canReschedule
: si puedes iniciar manualmente el mantenimiento durante el periodo de notificación de esta VM.TRUE
: puedes iniciar el mantenimiento manualmente durante el periodo de notificación.FALSE
: no puedes iniciar manualmente el mantenimiento de esta VM. Esto suele ocurrir durante el periodo en el que la máquina virtual está en mantenimiento activo.
maintenanceStatus
: estado de la operación de mantenimiento actualONGOING
: la operación de mantenimiento está en cursoPENDING
: La operación de mantenimiento aún no ha empezado, pero está programada.
Si no hay ninguna notificación de mantenimiento, la respuesta será similar a la siguiente:
{ "error": "no notifications have been received yet, try again later" }
Comportamientos del estado de mantenimiento
Al gestionar eventos de mantenimiento, compruebe los valores de canReschedule
y maintenanceStatus
. Cuando se combinan, estos campos indican qué acciones puedes o no realizar en relación con el inicio manual de un evento de mantenimiento:
canReschedule=True
ymaintenanceStatus=Pending
: puedes iniciar manualmente el evento de mantenimiento de la instancia antes de la hora de inicio programada.canReschedule=False
ymaintenanceStatus=Ongoing
: el mantenimiento está en curso y no se puede reprogramar.canReschedule=False
ymaintenanceStatus=Pending
: tu instancia no admite eventos de mantenimiento activados manualmente.
Ver notificaciones de mantenimiento
Para ver las notificaciones de mantenimiento, sigue estos pasos:
- Llamar a la API Cloud TPU mediante la CLI de Google Cloud
- Consultar el servidor de metadatos de una máquina virtual
- Comprobar Cloud Logging
Comprobar si hay una notificación de mantenimiento en las TPU
gcloud
Usa el comando gcloud alpha compute tpus tpu-vm
describe
para ver las notificaciones de mantenimiento:
gcloud alpha compute tpus tpu-vm describe TPU_NAME \ --zone=ZONE
Si hay un evento de mantenimiento programado, la respuesta incluirá una sección como la siguiente:
upcomingMaintenance: canReschedule: true latestWindowStartTime: "2025-12-01T19:00:00Z" maintenanceStatus: PENDING type: SCHEDULED windowEndTime: "2025-12-01T22:00:00Z" windowStartTime: "2025-12-01T19:00:00Z"
En esta respuesta:
- El mantenimiento se ha programado para la fecha y la hora que se muestran en
windowStartTime
. canReschedule
se ha establecido entrue
ymaintenanceStatus
enPENDING
. Estos ajustes indican que puedes iniciar manualmente el evento de mantenimiento programado antes de la fecha que se muestra enlatestWindowStartTime
.
Servidor de metadatos
Desde una VM de TPU, consulta el servidor de metadatos para ver el próximo evento de mantenimiento:
curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Si hay un evento de mantenimiento programado, la respuesta contendrá una sección similar a la siguiente:
Upcoming maintenance: { "can_reschedule" : "true", "latest_window_start_time" : "2024-06-12T16:00:01+00:00", "maintenance_status" : "PENDING", "type" : "SCHEDULED", "window_end_time" : "2024-06-12T20:00:00+00:00", "window_start_time" : "2024-06-12T16:00:00+00:00" }
Puedes consultar el servidor de metadatos desde cualquier VM de TPU de la porción, ya que la notificación del próximo evento de mantenimiento es la misma para todas las VMs de una porción.
Para obtener más información sobre los metadatos de las VMs, consulta el artículo Acerca de los metadatos de las VMs en la documentación de Compute Engine.
Consultar Cloud Logging para ver si hay alguna notificación de mantenimiento
Cuando se programa una notificación en tu TPU de Cloud, Cloud Logging incluirá un registro de eventos del sistema para el evento, con el methodName
:
compute.instance.upcomingMaintenance
. Para ver los registros de los próximos eventos de mantenimiento, sigue estos pasos:
En el menú de navegación de la consola Google Cloud , ve a la página Explorador de registros:
Usa la siguiente consulta de búsqueda para ver las TPUs que tengan programado un evento de mantenimiento próximo:
"compute.instances.upcomingMaintenance"
TPU de Cloud registra los próximos eventos de mantenimiento en Cloud Logging por instancia de máquina virtual, por ejemplo,
t1v-n-5bdca789-w-0
.
Ejemplos de registros de notificaciones de mantenimiento
En el Explorador de registros aparece una notificación de evento de mantenimiento con valores similares a los siguientes:
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
A continuación, se muestra un ejemplo de una entrada de registro completa de un evento de mantenimiento próximo:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"message": "Maintenance is scheduled for this instance. Review the maintenance schedule by describing the VM with gcloud CLI or querying the http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance metadata key."
},
"serviceName": "compute.googleapis.com",
"methodName": "compute.instances.upcomingMaintenance",
"resourceName": "projects/cloud-tpu-multipod-dev/zones/europe-west4-b/instances/t1v-n-9472280f-w-0",
"request": {
"@type": "type.googleapis.com/compute.instances.upcomingMaintenance"
},
"metadata": {
"type": "SCHEDULED",
"windowStartTime": "2024-11-15T04:00:00Z",
"canReschedule": true,
"latestWindowStartTime": "2024-11-15T04:00:01Z",
"windowEndTime": "2024-11-15T08:00:00Z",
"maintenanceStatus": "PENDING"
},
"logName": "projects/cloud-tpu-multipod-dev/logs/cloudaudit.googleapis.com%2Fsystem_event",
"operation": {
"id": "systemevent-1731038451389-6265ecbfcd453-5127b81e-f40b8149",
"producer": "compute.instances.upcomingMaintenance",
"first": true,
"last": true
},
"receiveTimestamp": "2024-11-08T04:00:54.457835088Z"
}
Cuando se inicia el evento de mantenimiento, aparece un nuevo evento informativo en los registros con valores similares a los siguientes:
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
Cuando finalice el evento de mantenimiento, aparecerá un nuevo evento informativo en los registros de auditoría con valores similares a los siguientes:
methodName
:"compute.instances.upcomingMaintenance"
status: { message: "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }