이벤트
CycleCloud 8.0은 특정 변경이 발생할 때(예: 노드가 만들어지거나 클러스터가 삭제된 경우) 이벤트를 생성합니다. 일부 이벤트는 즉시(예: 클러스터 삭제) 일부 이벤트는 전환을 나타냅니다(예: VM 만들기를 의미하는 노드 만들기). 이러한 경우 이벤트는 전환이 끝날 때 성공 여부에 관계없이 전송됩니다.
CycleCloud의 CycleCloud 설정 페이지에서 연결하여 Event Grid 토픽에 게시하도록 CycleCloud를 구성할 수 있습니다. Event Grid 이벤트 구독을 토픽에 연결하여 프로그램이 이벤트를 사용하고 처리할 수 있는 스토리지 큐와 같은 대상으로 이벤트를 라우팅할 수 있습니다.
이벤트 개체
이벤트는 표준 Event Grid 스키마에 있습니다. 모든 CycleCloud 관련 요소는 이벤트의 속성에 있습니다 data
.
Name | 형식 | Description |
---|---|---|
Eventid | 문자열 | 이벤트를 고유하게 식별합니다. |
eventTime | 문자열 | 이 이벤트의 시간(yyyy-MM-ddTHH:mm:ss. SSSZZ) |
eventType | 문자열 | 발생한 상태 전환의 종류(예: Microsoft.CycleCloud.NodeCreated ) |
subject | 문자열 | 영향을 받는 리소스( 이벤트 주체 참조) |
dataVersion | 문자열 | 에 사용 data 중인 스키마(현재 "1") |
또한 거의 모든 이벤트에 대한 몇 가지 사용자 지정 속성이 있습니다 data
.
속성 | 형식 | Description |
---|---|---|
상태 | 상태 (문자열) | 이 전환이 성공했는지 여부 |
reason | 이유 (문자열) | 이 이벤트가 시작된 이유 |
message | String | 이 이벤트에 대한 사람이 읽을 수 있는 요약 |
errorCode | 문자열 | 실패했거나 사용할 수 없는 경우 이 작업에 대한 코드입니다. 이는 Azure 호출에서 직접 발생할 수 있으며 모든 오류에 대해 존재하지 않을 수 있습니다. |
클러스터 이벤트
CycleCloud는 클러스터가 수정되면 이벤트를 보냅니다. 클러스터 이벤트에는 의 다음과 같은 일반적인 속성이 포함됩니다.data
속성 | 형식 | 설명 |
---|---|---|
clusterName | 문자열 | 클러스터의 이름 |
Microsoft.CycleCloud.ClusterStarted
이 이벤트는 클러스터가 시작될 때 발생합니다.
Microsoft.CycleCloud.ClusterTerminated
이 이벤트는 클러스터가 종료될 때 발생합니다.
Microsoft.CycleCloud.ClusterDeleted
이 이벤트는 클러스터가 삭제되면 발생합니다.
Microsoft.CycleCloud.ClusterSizeIncreased
이 이벤트는 노드가 클러스터에 추가되면 발생합니다. 추가된 각 노드 집합에 대해 하나의 이벤트가 있습니다. (집합의 노드는 모두 동일한 정의를 갖습니다.)
속성 | 형식 | Description |
---|---|---|
nodesRequested | 정수 | 이 집합에 대해 요청된 노드 수 |
nodes추가됨 | 정수 | 실제로 클러스터에 추가된 노드 수 |
nodeArray | 문자열 | 이러한 노드가 생성된 nodearray |
subscriptionId | 문자열 | 이 노드의 리소스에 대한 구독 ID |
region | 문자열 | 이 노드의 위치 |
vmSku | 문자열 | VM에 대한 SKU(즉, 컴퓨터 유형) |
priority | 문자열 | 적용 중인 VM 가격 책정 모델("일반" 또는 "스폿") |
placementGroupId | 문자열 | 이러한 노드가 있는 배치 그룹(있는 경우) |
노드 이벤트
CycleCloud는 노드가 상태를 변경할 때 이벤트를 보냅니다. 노드 이벤트에는 속성에 data
추가 정보가 포함됩니다.
속성 | 형식 | Description |
---|---|---|
상태 | 상태 (문자열) | 이 이벤트가 성공했는지 여부 |
clusterName | 문자열 | 이 노드가 있는 클러스터의 이름입니다. 이름은 시간이 지남에 따라 고유하지 않습니다. |
nodeName | 문자열 | 영향을 받는 노드의 이름입니다. 이름은 시간이 지남에 따라 고유하지 않습니다. |
nodeId | 문자열 | 이 노드의 ID입니다. 노드 ID 는 시간이 지남에 따라 고유하며 노드가 삭제되면 ID가 다시 사용되지 않습니다. |
nodeArray | 문자열 | 이 노드가 만들어진 nodearray의 이름입니다. |
resourceId | String | VM에 대한 Azure 리소스(생성된 리소스가 있는 경우) |
subscriptionId | 문자열 | 이 노드의 리소스에 대한 구독 ID |
region | 문자열 | 이 노드의 위치 |
vmSku | 문자열 | VM에 대한 SKU(즉, 컴퓨터 유형) |
priority | 문자열 | 적용 중인 VM 가격 책정 모델("일반" 또는 "스폿") |
placementGroupId | 문자열 | 이 노드가 있는 배치 그룹(있는 경우) |
retryCount | 정수 | 이전에 이 특정 작업을 시도한 횟 수(재시도 횟수 참조) |
타이밍 | (개체) | 이 이벤트의 스테이지와 해당 기간의 맵( 타이밍 참조) |
Microsoft.CycleCloud.Node추가됨
이 이벤트는 클러스터에 추가되는 각 노드에 대해 발생합니다. (한 번에 추가된 노드 집합에 대한 이벤트를 얻으려면 ClusterSizeIncreased를 참조하세요.) 노드가 UI에 처음 표시되면 전송되므로 타이밍 정보가 없습니다.
Microsoft.CycleCloud.NodeCreated
이 이벤트는 노드가 처음으로 시작될 때마다 발생합니다(즉, VM이 만들어짐). 이 이벤트에는 다음 타이밍 정보가 포함됩니다.
-
Create
: 노드를 만드는 총 시간입니다. 여기에는 VM 만들기 및 VM 구성이 포함됩니다. -
CreateVM
: VM을 만드는 데 걸린 시간입니다. -
Configure
: 소프트웨어를 설치하고 노드를 구성하는 데 걸린 시간입니다.
Microsoft.CycleCloud.NodeDeallocated
이 이벤트는 노드의 할당을 취소할 때마다 발생합니다. 이 이벤트에는 다음 타이밍 정보가 포함됩니다.
-
Deallocate
: 노드 할당을 취소하는 총 시간입니다. -
DeallocateVM
: VM 할당을 취소하는 데 걸린 시간입니다.
Microsoft.CycleCloud.NodeStarted
이 이벤트는 할당 취소된 상태에서 노드를 다시 시작할 때마다 발생합니다. 이 이벤트에는 다음 타이밍 정보가 포함됩니다.
-
Start
: 할당 취소된 노드를 다시 시작하는 데 걸린 총 시간입니다. -
StartVM
: 할당 취소된 VM을 시작하는 데 걸린 시간입니다.
Microsoft.CycleCloud.NodeTerminated
이 이벤트는 노드가 종료되고 해당 VM이 삭제될 때마다 발생합니다. 이 이벤트에는 다음 타이밍 정보가 포함됩니다.
-
Terminate
: 노드를 종료하는 데 걸린 총 시간입니다. -
DeleteVM
: VM을 삭제하는 데 걸린 시간입니다.
제목
각 이벤트에는 Event Grid에서 필터링하는 데 사용할 수 있는 "주체"가 있습니다. CycleCloud의 이벤트에는 다음과 같은 패턴의 주제가 있습니다.
-
/sites/SITENAME
: 지정된 CycleCloud 설치와 관련된 이벤트의 경우 -
/sites/SITENAME/clusters/CLUSTERNAME
: 클러스터 수준 이벤트의 경우 -
/sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME
: 노드 수준 이벤트의 경우
이를 통해 Event Grid 구독을 특정 접두사로 "범위 지정"하여 이벤트의 하위 집합을 수집할 수 있습니다. 이벤트 유형 필터링과 함께 사용할 수 있습니다.
상태
-
Succeeded
: 작업이 성공했습니다. -
Failed
: 작업이 성공하지 못했습니다. 및/또는errorCode
집합이reason
있는 경우가 많습니다. -
Canceled
: 작업이 취소되었습니다.
이유
일부 이벤트에는 이벤트가 시작된 이유가 있습니다. 달리 표시되지 않는 한 , , , NodeAdded
NodeDeallocated
NodeCreated
, NodeStarted
및 NodeTerminated
이벤트에 설정ClusterSizeIncreased
됩니다.
-
Autoscaled
: API를 통해 수행된 자동 크기 조정 요청에 대한 응답으로 노드가 수정되었습니다. -
UserInitiated
: 작업이 UI 또는 CLI를 통해 직접 수행되었습니다. -
System
: CycleCloud에서 작업을 시작했습니다(예: 기본적으로 실행 노드는 종료될 때 클러스터에서 자동으로 제거됨). -
SpotEvicted
: 스폿 VM이 제거되었기 때문에 이벤트가 트리거되었습니다(NodeTerminated 이벤트만 해당). -
VMDisappeared
: 스폿이 아닌 VM이 사라졌기 때문에 이벤트가 트리거되었습니다(NodeTerminated 이벤트만 해당). -
AllocationFailed
: 배치 또는 용량 제약 조건으로 인해 VM을 할당할 수 없습니다(NodeTerminated/NodeDeallocated 이벤트만, 종료/할당 취소 작업의 결과를 나타내는 상태 포함)
참고
는 reason
노드가 종료된 이유를 나타내기 위해 NodeTerminated 이벤트에 설정됩니다.
용량으로 인해 노드를 만들지 못하면 Azure의 특정 오류 코드와 함께 실패합니다(그 중 몇 가지가 있습니다).
그러면 노드가 자동으로 종료되고 종료 이유는 입니다 AllocationFailed
.
실행 중인 스폿 VM이 제거되면 만들기 작업이 이미 성공했습니다.
그러면 노드가 자동으로 종료되고 종료 이벤트에 지정된 이유는 입니다 SpotEvicted
.
타이밍
일부 이벤트에는 타이밍 정보가 포함됩니다. 의 data
항목은 timing
이벤트의 단계에 해당하는 키와 총 초 값이 있는 개체입니다. 각 이벤트에는 여러 타이밍 단계가 연결되어 있을 수 있습니다. instance 경우 노드가 클러스터에 추가되고 시작되고 종료되었다고 가정합니다.
- T1: 사용자가 노드를 추가합니다.
NodeAdded
이벤트는 타이밍 없이 전송됩니다. - T2: 만들기-VM 작업이 실패하므로
NodeCreated
실패 상태 및 다음 타이밍 정보와 함께 전송됩니다.-
Create
: T2-T1 -
CreateVM
: T2-T1
-
- T3: 사용자가 다시 시도를 클릭합니다.
- T4: VM 만들기 작업이 성공하므로 노드에서 소프트웨어 설치를 시작합니다.
- T5. 소프트웨어가 성공적으로 설치되므로
NodeCreated
성공 상태 및 다음 타이밍 정보와 함께 전송됩니다.-
Create
: (T5-T3) -
CreateVM
: (T4-T3) -
Configure
: (T5-T4)
-
- T6: 사용자가 종료를 클릭합니다.
- T7: 삭제-VM 작업이 성공하므로
NodeTerminated
성공 상태와 다음 타이밍 정보를 사용하여 전송됩니다.-
Started
: T6-T5 -
Terminate
: T7-T6 -
DeleteVM
: T7-T6
-
이전 상태 타이밍
노드가 성공적으로 상태(성공 여부에 관계없이)로 처음 전환될 때 이전 상태가 없습니다. 그런 다음, 해당 시점 이후에 대상 상태가 변경되면 이전 상태에서 소요된 시간이 새 대상 상태에 대한 이벤트에 포함됩니다. 이는 이전 상태에 성공적으로 도달한 경우에만 포함됩니다. 따라서 이러한 타이밍 항목은 다음 시간 길이를 측정합니다.
-
Started
: 이 이벤트 이전에 노드가 실행 중이었습니다(예: 녹색). -
Deallocated
: 이 이벤트 이전에 노드의 할당이 취소되었습니다. -
Terminated
: 이 이벤트 이전에 노드가 꺼져 있었습니다.
instance 스폿 VM이 제거되기 전에 실행된 기간을 추적하는 데 사용할 수 있습니다.
재시도 횟수
일부 작업은 실패할 경우 CycleCloud에서 다시 시도될 수 있습니다. 이러한 작업은 , , NodeDeallocated
NodeStarted
및 NodeTerminated
이벤트에 반영NodeCreated
됩니다. 이러한 이벤트에는 이 작업이 시도되기 전의 횟수를 나타내는 이벤트 속성의 data
선택적 retryCount
속성이 포함됩니다. 이 속성은 이러한 시도가 성공했는지 실패했는지 여부에 관계없이 후속 재시도에 포함됩니다.