Condividi tramite


Utilizzo di eventi pianificati

A partire dalla versione 8.2.2, CycleCloud può sfruttare gli eventi pianificati per le macchine virtuali. Questa funzionalità consente di inserire uno script nella macchina virtuale che verrà eseguito automaticamente quando si verifica uno degli eventi supportati.

Richiamo di uno script quando si verificano eventi

L'agente Jetpack nel nodo rimane automaticamente in ascolto degli eventi. Quando si verifica un evento, cerca nella directory degli script (/opt/cycle/jetpack/scripts in Linux, C:\cycle\jetpack\scripts in Windows) uno script denominato in modo che corrisponda all'evento. Se trova uno script, lo esegue e rinvia l'evento fino a quando lo script non riesce (o il timeout dell'evento scade e Azure pianifica l'evento). Una volta terminato correttamente lo script, l'evento viene riconosciuto in Azure in modo che l'azione sottostante (ad esempio, un riavvio) possa verificarsi immediatamente.

Nota

Gli eventi per i quali non sono presenti script verranno riconosciuti automaticamente da CycleCloud quando il monitoraggio è abilitato, per garantire che gli eventi, ad esempio i riavvii, non vengano ritardati inutilmente. Se si dispone di un altro processo personalizzato che monitora già gli eventi, il monitoraggio degli eventi può essere disabilitato. Si noti che questo significa che CycleCloud non riceverà la notifica delle eliminazioni spot.

Il monitoraggio degli eventi pianificati è attivato per impostazione predefinita, ma può essere disabilitato impostando quanto segue in un nodo o in un nodearray:

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

L'impostazione cyclecloud.monitor_spot_evictiondeprecata , aggiunta nella versione 8, ora equivale a cyclecloud.monitor_scheduled_events.

Eventi supportati

Event Descrizione Linux Script Windows Script
Preempt La macchina virtuale spot viene rimossa onPreempt.sh onPreempt.bat
Terminate La macchina virtuale è pianificata per essere eliminata (facoltativo) onTerminate.sh onTerminate.bat
Riavvio La macchina virtuale è pianificata per il riavvio onReboot.sh onReboot.bat
Ripetere la distribuzione La macchina virtuale è pianificata per lo spostamento in un altro host onRedeploy.sh onRedeploy.bat
Freeze La macchina virtuale è pianificata per essere sospesa per alcuni secondi onFreeze.sh onFreeze.bat

Termina notifica

CycleCloud supporta l'abilitazione della notifica Terminate nelle macchine virtuali del set di scalabilità ,ad esempio nodi di esecuzione. A tale scopo, impostare su EnableTerminateNotification true nell'oggetto nodearray. Verrà abilitata per i set di scalabilità creati per questo nodearray. Per eseguire l'override del timeout consentito, è possibile impostare TerminateNotificationTimeout su una nuova ora. Ad esempio, in un modello di cluster:

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

Senza EnableTerminateNotification impostare su true, le macchine virtuali del set di scalabilità non otterranno un evento Terminate.