El servidor de metadatos proporciona información sobre las opciones y la configuración de programación de una instancia de máquina virtual (VM) mediante la lista del directorio de metadatos scheduling/
y la clave de metadatos maintenance-event
. Puedes usar estas claves de metadatos a fin de obtener información sobre las opciones de programación de una VM y para notificarte cuando esté por suceder un evento de mantenimiento.
De forma predeterminada, todas las VMs (excepto Z3) están configuradas como migración en vivo y el servidor de metadatos recibe notificaciones de eventos de mantenimiento antes de que una instancia de VM se migre en vivo. Sin embargo, si eliges una opción de programación diferente, los eventos de mantenimiento y el comportamiento de la VM pueden variar. Para obtener más información sobre los eventos de mantenimiento y el comportamiento de las VMs durante estos eventos, consulta Descripción general del mantenimiento del host.
Antes de comenzar
- Para VM de Windows Server, usa PowerShell 3.0 o versiones posteriores.
Te recomendamos que uses
ctrl+v
para pegar los bloques de código copiados. -
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 código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Para obtener más información, consulta Set up authentication for a local development environment.
Obtén avisos de migración en vivo
Puedes saber cuándo ocurrirá un evento de mantenimiento si consultas de forma periódica la clave de metadatos maintenance-event
.
La clave de metadatos maintenance-event
se propaga para los eventos de mantenimiento solo si configuraste la opción de programación de la VM como migrate
o si la VM tiene una GPU conectada.
El valor de esta clave de metadatos cambia 60 segundos antes de que se inicie un evento de mantenimiento, lo que le da al código de la aplicación una forma de activar cualquier tarea que desees realizar antes de un evento de mantenimiento, como crear una copia de seguridad de los datos o actualizar registros.
En resumen, Compute Engine da la advertencia de 60 segundos solo si se cumplen estas condiciones:
Si estableciste las opciones de disponibilidad de la VM para la migración en vivo durante un evento de mantenimiento.
Si consultaste la clave de metadatos
maintenance-event
al menos una vez desde el último evento de mantenimiento.Si nunca consultaste la clave de metadatos
maintenance-event
o no la hiciste desde la última migración, Compute Engine supone que la VM no requiere una advertencia previa a los eventos de mantenimiento. El evento de mantenimiento se inicia de inmediato y omite la advertencia de 60 segundos.Si no deseas omitir la advertencia de 60 segundos, asegúrate de que el código del cliente consulte la clave de metadatos
maintenance-event
al menos una vez entre los eventos de migración. Debes consultar la clave de metadatosmaintenance-event
directamente para Compute Engine a fin de determinar si la estás mirando. Consultar metadatos de nivel superior no activa la notificación previa.
En el caso de las VM con GPU conectadas, el valor cambia 60 minutos antes de que se detengan las VM a fin de que tengas tiempo de apagar y reiniciar en otro host. Las VM con GPU conectadas no se migran en vivo, en su lugar se detienen y se reinician de forma opcional. Para obtener más información, consulta Controla eventos de mantenimiento del host de la GPU.
Para un conjunto específico de VMs, las opciones de mantenimiento de VMs son más flexibles. Para obtener más información, consulta Supervisa y planifica un evento de mantenimiento del host.
Consulta la clave de metadatos del evento de mantenimiento
VM de Linux
Para consultar la clave de metadatos maintenance-event
en las VM de Linux, ejecuta el siguiente comando:
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
El resultado es similar al siguiente:
NONE
VM de Windows
Para consultar la clave de metadatos maintenance-event
en las VM de Windows, ejecuta el siguiente comando:
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
El resultado es similar al siguiente:
NONE
Python
Puedes usar la clave de metadatos maintenance-event
con la función de espera de actualizaciones para notificar a tus secuencias de comandos y aplicaciones cuando un evento de mantenimiento esté por comenzar y finalizar. Esto te permite automatizar cualquier acción que desees ejecutar antes o después del evento.
La muestra siguiente de Python proporciona un ejemplo de cómo puedes implementar estas dos funciones.
Revisa los resultados
El valor inicial y predeterminado de la clave de metadatos maintenance-event
es NONE
.
En las VM con GPU conectadas, durante un evento de mantenimiento, el valor cambia de
NONE
aTERMINATE_ON_HOST_MAINTENANCE
. Este valor se actualiza 60 minutos antes de que comience el evento de detención.En las VM sin GPU con una opción de programación de
migrate
, el valormaintenance-event
cambia de la siguiente manera:- Al comienzo del evento de migración, el valor cambia de
NONE
aMIGRATE_ON_HOST_MAINTENANCE
. Este valor se actualiza 60 segundos antes de que comience el evento de detención. - Mientras dura el evento y la instancia de VM se migra en vivo, el valor permanece como
MIGRATE_ON_HOST_MAINTENANCE
. - Cuando finaliza el evento de mantenimiento, el valor vuelve a ser
NONE
.
- Al comienzo del evento de migración, el valor cambia de
Para las VMs de usuario único, durante un evento de mantenimiento del host, el valor de la clave de metadatos
maintenance-event
no cambia y permaneceNONE
desde el inicio hasta el final del evento.
¿Qué sigue?
- Obtén información para configurar políticas de disponibilidad de instancia.
- Obtén más información sobre la migración en vivo.
- Obtén más información sobre los metadatos de VM.