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_eviction
en 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.