Ver 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 Cloud realiza automáticamente el mantenimiento de tu instancia. Puedes supervisar los próximos períodos de mantenimiento de tu instancia para preparar de forma proactiva tus cargas de trabajo y, así, se genere la menor cantidad de interrupciones posible.
La Cloud TPU te permite ver las notificaciones de mantenimiento con Google Cloud CLI y a través de consultas al servidor de metadatos. También puedes ver los próximos eventos de mantenimiento en Cloud Logging. Si deseas obtener información para ver las notificaciones de mantenimiento de las TPU en GKE, consulta Administra la interrupción de nodos de GKE para la GPU y las 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 reciente a la que se puede mover el período de mantenimiento.maintenanceType: Es el tipo de mantenimiento que se realizaráSCHEDULED: Es un mantenimiento con una notificación de siete días.UNSCHEDULED: Es el mantenimiento representa las actualizaciones importantes con menos notificaciones 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 manualmente. 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: Indica que la operación de mantenimiento está en curso.PENDING: Indica que 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, comprueba 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=TrueymaintenanceStatus=Pending: Indican que puedes iniciar manualmente el evento de mantenimiento de la instancia antes de la hora de inicio programada.canReschedule=FalseymaintenanceStatus=Ongoing: Indican que el mantenimiento está en curso y no se puede reprogramar.canReschedule=FalseymaintenanceStatus=Pending: Indican que tu instancia no admite eventos de mantenimiento activados de forma manual.
Ver notificaciones de mantenimiento
Para ver las notificaciones de mantenimiento, haz lo siguiente:
- Llama a la API de Cloud TPU con Google Cloud CLI.
- Consulta el servidor de metadatos en tu VM.
- Comprueba Cloud Logging.
Comprueba 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. canRescheduleestá configurado entrueymaintenanceStatusestá configurado 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 la 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 la TPU en la porción, ya que la notificación del próximo evento de mantenimiento es la misma para todas las VMs en una porció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.
Comprueba 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 , dirígete 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"La 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, se muestra 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 inicia el evento de mantenimiento, se muestra 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, se muestra 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.
- Inicia un evento de mantenimiento del host de forma manual.