예약된 이벤트 사용
8.2.2를 기준으로 CycleCloud는 VM에 대해 예약된 이벤트를 활용할 수 있습니다. 이 기능을 사용하면 지원되는 이벤트 중 하나가 발생할 때 자동으로 실행되는 스크립트를 VM에 배치할 수 있습니다.
이벤트가 발생할 때 스크립트 호출
노드의 Jetpack 에이전트는 이벤트를 자동으로 수신 대기합니다. 이벤트가 발생하면 스크립트 디렉터리(/opt/cycle/jetpack/scripts
Linux, C:\cycle\jetpack\scripts
Windows)에서 이벤트와 일치하도록 명명된 스크립트를 찾습니다. 스크립트를 찾으면 스크립트를 실행하고 스크립트가 성공할 때까지 이벤트를 연기합니다(또는 이벤트 시간 제한이 경과하고 Azure에서 이벤트를 예약함). 스크립트가 성공적으로 종료되면 기본 작업(예: 다시 부팅)이 즉시 발생할 수 있도록 Azure에 이벤트가 승인됩니다.
참고
스크립트가 없는 이벤트는 모니터링을 사용하도록 설정할 때 CycleCloud에서 자동으로 승인되어 재부팅과 같은 이벤트가 불필요하게 지연되지 않도록 합니다. 이벤트를 이미 모니터링하는 다른 사용자 지정 프로세스가 있는 경우 이벤트 모니터링을 사용하지 않도록 설정할 수 있습니다. 즉, CycleCloud는 스폿 제거 알림을 받지 않습니다.
예약된 이벤트 모니터링은 기본적으로 설정되어 있지만 노드 또는 nodearray에서 다음을 설정하여 사용하지 않도록 설정할 수 있습니다.
[[[configuration]]]
cyclecloud.monitor_scheduled_events = false
버전 8에 추가된 사용되지 않는 설정 cyclecloud.monitor_spot_eviction
은 이제 cyclecloud.monitor_scheduled_events
.
지원되는 이벤트
이벤트 | Description | Linux 스크립트 | Windows 스크립트 |
---|---|---|---|
Preempt | 스폿 VM이 제거되고 있습니다. | onPreempt.sh | onPreempt.bat |
종료 | VM이 삭제되도록 예약됨(선택 사항) | onTerminate.sh | onTerminate.bat |
Reboot | VM이 다시 부팅되도록 예약됨 | onReboot.sh | onReboot.bat |
재배포 | VM이 다른 호스트로 이동하도록 예약됨 | onRedeploy.sh | onRedeploy.bat |
중지 | VM이 몇 초 동안 일시 중지되도록 예약됨 | onFreeze.sh | onFreeze.bat |
알림 종료
CycleCloud는 확장 집합 VM(예: 노드 실행)에서 종료 알림을 사용하도록 설정할 수 있도록 지원합니다. 이렇게 하려면 nodearray에서 true로 설정합니다 EnableTerminateNotification
. 이렇게 하면 이 nodearray에 대해 만든 확장 집합에 사용할 수 있습니다. 허용되는 시간 제한을 재정의하려면 새 시간으로 설정할 TerminateNotificationTimeout
수 있습니다. 예를 들어 클러스터 템플릿에서 다음을 수행합니다.
[[nodearray execute]]
EnableTerminateNotification = true
TerminateNotificationTimeout = 10
true로 설정하지 않으면 EnableTerminateNotification
확장 집합 VM은 Terminate 이벤트를 받지 않습니다.