Verwenden geplanter Ereignisse
Ab 8.2.2 kann CycleCloud die Vorteile geplanter Ereignisse für VMs nutzen. Mit diesem Feature können Sie ein Skript auf Ihrem virtuellen Computer platzieren, das automatisch ausgeführt wird, wenn eines der unterstützten Ereignisse auftritt.
Aufrufen eines Skripts, wenn Ereignisse auftreten
Der Jetpack-Agent auf dem Knoten überwacht automatisch Ereignisse. Wenn eins auftritt, sucht es im Skriptverzeichnis (/opt/cycle/jetpack/scripts
unter Linux, C:\cycle\jetpack\scripts
unter Windows) nach einem Skript, das dem Ereignis entspricht. Wenn es ein Skript findet, wird es ausgeführt und das Ereignis zurückgesetzt, bis das Skript erfolgreich verläuft (oder das Ereignis timeout verstrichen ist und Azure das Ereignis plant). Sobald das Skript erfolgreich beendet wurde, wird das Ereignis in Azure bestätigt, sodass die zugrunde liegende Aktion (z. B. ein Neustart) sofort erfolgen kann.
Hinweis
Ereignisse, für die keine Skripts vorhanden sind, werden automatisch von CycleCloud erkannt, wenn die Überwachung aktiviert ist, um sicherzustellen, dass Ereignisse wie Neustarts nicht unnötig verzögert werden. Wenn Sie einen anderen benutzerdefinierten Prozess haben, der bereits Ereignisse überwacht, kann die Ereignisüberwachung deaktiviert werden. Beachten Sie, dass CycleCloud keine Benachrichtigung über Spoträumungen erhält.
Die geplante Ereignisüberwachung ist standardmäßig aktiviert, kann jedoch deaktiviert werden, indem Sie folgendes auf einem Knoten oder Knotenarray festlegen:
[[[configuration]]]
cyclecloud.monitor_scheduled_events = false
Die veraltete Einstellung cyclecloud.monitor_spot_eviction
, die in Version 8 hinzugefügt wurde, bedeutet jetzt identisch mit cyclecloud.monitor_scheduled_events
.
Unterstützte Ereignisse
Ereignis | BESCHREIBUNG | Linux-Skript | Windows Script |
---|---|---|---|
Preempt | Der Spot-VM wird ausgeräumt. | onPreempt.sh | onPreempt.bat |
Terminate | Der virtuelle Computer soll gelöscht werden (optional) | onTerminate.sh | onTerminate.bat |
Reboot | Der virtuelle Computer wird geplant, neu gestartet zu werden. | onReboot.sh | onReboot.bat |
Erneute Bereitstellung | Der virtuelle Computer wird geplant, zu einem anderen Host zu wechseln. | onRedeploy.sh | onRedeploy.bat |
Freeze | Der virtuelle Computer wird für einige Sekunden angehalten. | onFreeze.sh | onFreeze.bat |
Benachrichtigung beenden
CycleCloud unterstützt das Aktivieren von Terminbenachrichtigungen auf Scaleset-VMs (z. B. Ausführen von Knoten). Legen Sie EnableTerminateNotification
dazu auf "true" im Knotenarray fest. Dadurch wird es für Skalierungssets aktiviert, die für dieses Knotenarray erstellt wurden. Um das zulässige Timeout außer Kraft zu setzen, können Sie eine neue Uhrzeit festlegen TerminateNotificationTimeout
. Beispiel: in einer Clustervorlage:
[[nodearray execute]]
EnableTerminateNotification = true
TerminateNotificationTimeout = 10
Ohne EnableTerminateNotification
"true" wird das Scaleset-VMs kein Terminate-Ereignis abgerufen.