Cómo ver las notificaciones de mantenimiento
Un evento de mantenimiento del host es cuando Google Cloud debe realizar una actividad de mantenimiento o reparación en tu TPU. Google envía notificaciones sobre el próximo mantenimiento del host antes de que se realice. Cuando se abre el período de mantenimiento, Google Cloudrealiza automáticamente el mantenimiento de tu instancia. Si supervisas los próximos períodos de mantenimiento de tu instancia, puedes preparar de forma proactiva tus cargas de trabajo para que controlen el próximo mantenimiento con la menor interrupción posible.
Cloud TPU te permite ver las notificaciones de mantenimiento con Google Cloud CLI y consultando el servidor de metadatos. También puedes ver los próximos eventos de mantenimiento en Cloud Logging. Para obtener información sobre cómo ver las notificaciones de mantenimiento de las TPU en GKE, consulta Administra la interrupción de nodos de GKE para GPU y TPU.
Campos de notificación de mantenimiento
Las notificaciones de mantenimiento contienen los siguientes campos:
windowStartTime
: Es el inicio del período en el que se realizará el mantenimiento.windowEndTime
: Es el final del período en el que se realizará el mantenimiento.latestWindowStartTime
: Es la hora más tardía a la que se puede mover el período de mantenimiento.maintenanceType
: Tipo de mantenimiento que se realizaráSCHEDULED
: El mantenimiento recibirá un aviso con siete días de anticipaciónUNSCHEDULED
: El mantenimiento representa las actualizaciones críticas para las que se proporciona menos aviso que para los eventos de mantenimiento programados.
canReschedule
: Indica si puedes iniciar manualmente el mantenimiento durante el período de notificación de esta VM.TRUE
: Puedes iniciar el mantenimiento de forma manual durante el período de notificación.FALSE
: No puedes iniciar el mantenimiento de esta VM de forma manual. Por lo general, esto se observa durante el período en el que la VM se encuentra en mantenimiento activo.
maintenanceStatus
: Es el estado de la operación de mantenimiento actual.ONGOING
: La operación de mantenimiento está en cursoPENDING
: La operación de mantenimiento aún no se inició, pero está programada.
Si no hay una 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
Cuando administres eventos de mantenimiento, verifica los valores de canReschedule
y maintenanceStatus
. Cuando se combinan, estos campos indican qué acciones puedes realizar o no 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 de forma manual.
Cómo ver las notificaciones de mantenimiento
Para ver las notificaciones de mantenimiento, haz lo siguiente:
- Cómo llamar a la API de Cloud TPU con Google Cloud CLI
- Cómo consultar el servidor de metadatos en tu VM
- Verifica Cloud Logging
Verifica 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 próximo, la respuesta contendrá 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, se incluye lo siguiente:
- El mantenimiento está programado para la fecha y hora que se muestran en
windowStartTime
. canReschedule
se establece entrue
ymaintenanceStatus
enPENDING
. Estos parámetros de configuración 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 próximo, 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 en la segmentación, ya que la notificación del próximo evento de mantenimiento es la misma para todas las VMs en una segmentación.
Para obtener más información sobre los metadatos de VM, consulta Acerca de los metadatos de VM en la documentación de Compute Engine.
Revisa Cloud Logging para ver si hay una notificación de mantenimiento
Cuando se programa una notificación en tu Cloud TPU, Cloud Logging contendrá un registro de eventos del sistema para el evento, con methodName
:
compute.instance.upcomingMaintenance
. Para ver los registros de los próximos eventos de mantenimiento, haz lo siguiente:
En el menú de navegación de la consola de Google Cloud , ve a la página Explorador de registros:
Usa la siguiente búsqueda para ver las TPU que tienen programado un evento de mantenimiento próximo:
"compute.instances.upcomingMaintenance"
Cloud TPU registra los próximos eventos de mantenimiento en Cloud Logging por instancia de VM individual, 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 para un próximo evento de mantenimiento:
{
"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 comienza 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 finaliza el evento de mantenimiento, aparece 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." }
¿Qué sigue?
- Prepárate para los eventos de mantenimiento
- Cómo iniciar manualmente un evento de mantenimiento del host