¿Cómo iniciar/detener automáticamente una instancia (vm) en función de algún evento/activador en la nube de Google?

¿Cómo iniciar/detener automáticamente una instancia (vm) en función de algún evento/activador en la nube de Google?

Estamos empleando una instancia de GPU en la nube de Google para ejecutar un servicio relacionado con el aprendizaje automático. Google Cloud tiene estos planes de mantenimiento no programados para sus instancias de GPU. Antes de que la instancia deje de funcionar por mantenimiento, la API de Google Cloud enviará una notificación a esta instancia 1 hora antes de que se rechace la instancia.

Supongamos que la instancia de GPU se llama "vm1". Queremos activar una instancia de GPU de respaldo, "vm1-duplicate", una vez que "vm1" reciba el aviso de que pasará por mantenimiento más adelante, para que el servicio a nuestros clientes sea afectados por este mantenimiento. Y una vez que se complete el mantenimiento de "vm1", detenga "vm1-duplicate" para que no haya costos adicionales.

¿Existe una forma elegante en Google Cloud de programar el inicio/detención automático de una máquina virtual en función de algunas condiciones/desencadenantes/eventos?

Respuesta1

Solución súper rápida: instale gcloud en vm (ya debería estar allí), cree una cuenta de servicio [1], cree un pequeño script de shell y ejecútelo en cron cada 15/30 minutos.

La secuencia de comandos monitoreará el punto final http del evento [2] y reaparecerá una nueva máquina virtual desde su máquina virtual a través de la línea cmd de gcloud. Detenga el inicio automático y simplemente mantenga la nueva máquina virtual en funcionamiento.

Si funciona, considere derivar su propia imagen con el script ya implementado y cron configurado. Entonces reaparecer será más fácil.

[1] no es obligatorio, solo para evitar poner sus credenciales en la máquina virtual

[2]https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance

información relacionada