유지보수 이벤트 모니터링

이 문서에서는 명령줄과 GKE 유지보수 대시보드를 사용하여 호스트 유지보수 작업을 보는 방법을 설명합니다.

호스트 유지보수 작업을 보면 특히 주기적인 인프라 중단으로 인해 중단될 수 있는 워크로드가 있는 장기 실행 GKE 클러스터의 워크로드 중단을 완화하는 데 도움이 될 수 있습니다.

GKE의 호스트 유지보수에 대한 자세한 내용은 GKE에서 호스트 유지보수를 수행하는 방법 이해를 참조하세요.

유지보수 알림 모니터링

VM에 예약된 유지보수 이벤트가 있기 전에 Compute Engine은 모든 VM에 알림을 푸시합니다. 이러한 알림은 Compute Engine 유지보수 기간의 시작을 보고합니다. VM에서 예정된 유지보수가 예약되었지만 활성 상태가 아니면 GKE는 노드 라벨에 scheduled-maintenance-time을 추가합니다.

예정된 유지보수 이벤트를 모니터링하고 감지하려면 GKE와 Compute Engine의 알림을 모두 확인해야 합니다.

Compute Engine에서 예정된 유지보수 보기

Compute Engine issues 알림 은 노드와 기본 VM이 중단 호스트 이벤트로 예약될 때와 이러한 이벤트가 활성화될 때 발행됩니다. 알림에는 계획된 시작 시간, 이벤트 유형, 기타 세부정보에 대한 정보가 포함됩니다.

GKE에서 예정된 유지보수 보기

GKE 버전 1.31.1-gke.2008000 이상 및 특정 머신 유형의 경우 예정된 유지보수 이벤트를 모니터링할 수 있습니다.

  • GPU 또는 TPU가 연결된 머신 유형의 경우 1.31.1-gke.2008000 이상
  • SSD가 18TiB를 초과하는 Z3 머신 유형의 경우 1.32.4-gke.1376000 이상
  • H4D 머신 유형의 경우 1.32.6-gke.1060000 이상
  • c4a-highmem-96-metal의 경우 1.35.0-gke.2232000 이상

예정된 유지보수 이벤트를 보려면 다음 중 하나를 수행하면 됩니다.

호스트 유지보수를 위한 Kubernetes 이벤트 보기

GKE 버전 1.35 이상에서는 호스트 유지보수 수명 주기를 추적하는 Kubernetes 이벤트가 내보내집니다. 이러한 Kubernetes 이벤트는 예약된 Compute Engine 기간, 진행 중인 작업, 수리 또는 취소와 같은 특수한 사례에 대한 세부적인 가시성을 제공하므로 Kubernetes 환경 내에서 직접 중단을 모니터링할 수 있습니다.

표준 Kubernetes 도구 또는 Cloud Logging을 통해 이러한 이벤트를 볼 수 있습니다.

  1. 최근 유지보수 이벤트를 보려면 다음 kubectl 명령어를 사용하세요.

    kubectl get events -n kube-system --field-selector involvedObject.kind=Node
    

    Kubernetes 이벤트는 클러스터에 60분 동안 보관되므로 이 명령어는 노드당 이러한 최근 이벤트만 출력합니다.

  2. Cloud Logging에서 이벤트를 보려면 다음을 수행합니다.

    1. 콘솔의 로그 탐색기 페이지로 이동합니다. Cloud de Confiance

      로그 탐색기로 이동

    2. 다음 쿼리를 사용하세요.

    resource.type="k8s_node"
    log_id("events")
    jsonPayload.metadata.annotations."maintenance.gke.io/category"="HostMaintenance"
    

유지보수 수명 주기 이벤트

유지보수 수명 주기 이벤트는 Kubernetes 노드 리소스에서 내보내집니다. 다음 표에서는 Compute Engine 호스트 유지보수 수명 주기 동안 GKE에서 내보낸 이벤트를 설명합니다.

이유 설명
MaintenanceWindowScheduled 노드에 Compute Engine 호스트 유지보수 기간이 예약되었습니다.
MaintenanceWindowCancelled 노드에서 Compute Engine 호스트 유지보수 기간이 삭제되었습니다.
MaintenanceWindowRescheduled 이전에 예약된 Compute Engine 호스트 유지보수 기간이 이동되었고 유지보수 시작 시간이 업데이트되었습니다.
CustomerTriggeredMaintenance Compute Engine 호스트 유지보수가 GKE를 통해 수동으로 트리거되었습니다.
MaintenanceWindowStarted Compute Engine 호스트 유지보수가 시작되었습니다.
TerminateOnHostMaintenance Compute Engine에서 종료 신호 (TERMINATE_ON_HOST_MAINTENANCE)를 발행할 때 내보내집니다. 정상 종료가 사용 설정된 경우 GKE는 노드를 코돈하고 포드 퇴거 (SIGTERM)를 예약합니다. 워크로드는 머신 등급에 따라 5~60분 알림 상한을 받습니다.
PodEvictionComplete 모든 포드가 노드에서 성공적으로 퇴거되었습니다.
MaintenanceWindowCleared Compute Engine 호스트 유지보수가 완료되었고 노드가 준비 상태로 돌아왔습니다.

이벤트 페이로드 정보

Compute Engine을 통해 예정된 유지보수 이벤트에 대한 정보를 사용할 수 있는 경우 각 이벤트에는 다음 정보가 포함된 주석 데이터가 포함된 페이로드도 포함됩니다.

  • Compute Engine 기간 세부정보: windowStartTime, windowEndTime, latestWindowStartTime을 포함합니다.
  • 유지보수 메타데이터: 이벤트 발생 시 유지보수 주기의 상태, 유지보수 이유 (이유는 SCHEDULED 또는 UNSCHEDULED로 나열될 수 있음), Compute Engine 기간을 재예약할 수 있는지 여부입니다.
  • Kubernetes 메타데이터: Cluster_name, nodepool_name, node_name을 포함합니다.

GKE 유지보수 대시보드의 호스트 유지보수 작업 보기

GKE 유지보수 대시보드 는 호스트 유지보수 작업의 통합 뷰를 제공합니다. 대시보드는 클러스터, 노드 풀, 노드 수준에서 유지보수 활동에 대한 포괄적인 가시성을 제공합니다.

대시보드는 모니터링 가능성 분석을 기반으로 빌드됩니다. 유지보수 주기, 노드 상태, 이전 다운타임 측정항목을 표시합니다.

다음 단계