Compartir a través de


Uso de eventos programados

A partir de la versión 8.2.2, CycleCloud puede aprovechar los eventos programados para las máquinas virtuales. Esta característica le permite colocar un script en la máquina virtual que se ejecutará automáticamente cuando se produzca uno de los eventos admitidos.

Invocación de un script cuando se producen eventos

El agente de Jetpack en el nodo escucha automáticamente los eventos. Cuando se produce una, busca en el directorio de scripts (/opt/cycle/jetpack/scripts en Linux, C:\cycle\jetpack\scripts en Windows) un script denominado para que coincida con el evento. Si encuentra un script, lo ejecuta y aplaza el evento hasta que el script se realiza correctamente (o el tiempo de espera del evento transcurre y Azure programa el evento). Una vez que el script se cierra correctamente, el evento se confirma en Azure para que la acción subyacente (por ejemplo, un reinicio) pueda producirse inmediatamente.

Nota

Los eventos para los que no haya scripts serán confirmados automáticamente por CycleCloud cuando la supervisión esté habilitada, para asegurarse de que los eventos como los reinicios no se retrasan innecesariamente. Si tiene otro proceso personalizado que ya supervisa eventos, se puede deshabilitar la supervisión de eventos. Tenga en cuenta que esto significa que CycleCloud no recibirá notificaciones de expulsiones puntuales.

La supervisión de eventos programados está activada de forma predeterminada, pero se puede deshabilitar estableciendo lo siguiente en un nodo o nodoarray:

[[[configuration]]]
cyclecloud.monitor_scheduled_events = false

La configuración cyclecloud.monitor_spot_evictionen desuso , agregada en la versión 8, ahora significa lo mismo que cyclecloud.monitor_scheduled_events.

Eventos admitidos

Evento Descripción Linux Script Windows Script
Preempt La máquina virtual de acceso puntual se está expulsando onPreempt.sh onPreempt.bat
Terminate La máquina virtual está programada para eliminarse (opcional) onTerminate.sh onTerminate.bat
Reboot La máquina virtual está programada para reiniciarse. onReboot.sh onReboot.bat
Volver a implementar La máquina virtual está programada para moverse a otro host onRedeploy.sh onRedeploy.bat
Freeze La máquina virtual está programada para pausar durante unos segundos. onFreeze.sh onFreeze.bat

Finalizar notificación

CycleCloud admite la habilitación de la notificación de finalización en máquinas virtuales del conjunto de escalado (por ejemplo, ejecutar nodos). Para ello, establezca en EnableTerminateNotification true en nodearray. Esto lo habilitará para conjuntos de escalado creados para esta clase nodearray. Para invalidar el tiempo de espera permitido, puede establecer en TerminateNotificationTimeout una nueva hora. Por ejemplo, en una plantilla de clúster:

[[nodearray execute]]
EnableTerminateNotification = true
TerminateNotificationTimeout = 10

Sin EnableTerminateNotification establecer en true, las máquinas virtuales del conjunto de escalado no obtendrán un evento Terminate.