다음을 통해 공유


예약된 이벤트 사용

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 이벤트를 받지 않습니다.