Partager via


Utilisation d’événements planifiés

À compter de la version 8.2.2, CycleCloud peut tirer parti des événements planifiés pour les machines virtuelles. Cette fonctionnalité vous permet de placer un script sur votre machine virtuelle qui sera automatiquement exécuté lorsqu’un des événements pris en charge se produit.

Appel d’un script lorsque des événements se produisent

L’agent Jetpack sur le nœud écoute automatiquement les événements. Lorsque l’un se produit, il apparaît dans le répertoire des scripts (/opt/cycle/jetpack/scripts sur Linux, C:\cycle\jetpack\scripts sur Windows) pour un script nommé pour correspondre à l’événement. S’il trouve un script, il l’exécute et reporte l’événement jusqu’à ce que le script réussisse (ou le délai d’expiration de l’événement et Azure planifie l’événement). Une fois le script terminé, l’événement est reconnu dans Azure afin que l’action sous-jacente (par exemple, un redémarrage) puisse se produire immédiatement.

Notes

Les événements pour lesquels aucun script n’est automatiquement reconnu par CycleCloud lors de l’activation de la surveillance, afin de s’assurer que les événements tels que les redémarrages ne sont pas inutilement retardés. Si vous disposez d’un autre processus personnalisé qui surveille déjà les événements, l’analyse des événements peut être désactivée. Notez que cela signifie que CycleCloud ne reçoit pas de notification d’éviction spot.

La surveillance des événements planifiés est activée par défaut, mais elle peut être désactivée en définissant les éléments suivants sur un nœud ou un nœud :

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

Le paramètre cyclecloud.monitor_spot_evictiondéconseillé, ajouté dans la version 8, signifie maintenant le même que cyclecloud.monitor_scheduled_events.

Événements pris en charge

Événement Description Linux Script Script Windows
Preempt La machine virtuelle spot est supprimée onPreempt.sh onPreempt.bat
Terminate La machine virtuelle est planifiée pour être supprimée (facultative) onTerminate.sh onTerminate.bat
Redémarrer La machine virtuelle est planifiée pour être redémarré onReboot.sh onReboot.bat
Redeploy La machine virtuelle est planifiée pour se déplacer vers un autre hôte onRedeploy.sh onRedeploy.bat
Freeze La machine virtuelle est planifiée pour suspendre pendant quelques secondes onFreeze.sh onFreeze.bat

Mettre fin à la notification

CycleCloud prend en charge l’activation de la notification d’arrêt sur les machines virtuelles de groupe identique (par exemple, les nœuds d’exécution). Pour ce faire, définissez la valeur EnableTerminateNotification true sur le nodearray. Cela l’active pour les groupes identiques créés pour ce nodearray. Pour remplacer le délai d’expiration autorisé, vous pouvez définir TerminateNotificationTimeout une nouvelle heure. Par exemple, dans un modèle de cluster :

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

Sans EnableTerminateNotification avoir la valeur true, les machines virtuelles de groupe identique n’obtiennent pas d’événement Terminate.