이 페이지에서는 Google Kubernetes Engine(GKE)에서 실행되는 Ray 클러스터의 로그 및 측정항목을 수집하도록 Google Kubernetes Engine(GKE)을 구성하는 방법과 Cloud Logging 및 Cloud Monitoring에서 Ray 로그 및 측정항목을 보는 방법을 설명합니다.
Ray 및 KubeRay에 대한 자세한 내용은 Google Kubernetes Engine(GKE)의 Ray 개요를 참조하세요.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화하세요. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
요구사항 및 제한사항
- Ray 클러스터에 대해 로그 수집을 사용 설정하기 전에 기존 GKE 클러스터에서 시스템 및 워크로드 로깅을 사용 설정해야 합니다.
- 기존 GKE 클러스터에서 Ray 클러스터에 대한 로그 수집을 사용 설정하면 GKE는 기존 Ray 포드가 아닌 새로 생성된 Ray 포드의 로그만 수집합니다.
- 표준 GKE 클러스터의 경우 Ray 클러스터의 측정항목 수집을 사용 설정하려면 Google Cloud Managed Service for Prometheus를 사용 설정해야합니다. Autopilot 클러스터의 경우 Google Cloud Managed Service for Prometheus가 기본적으로 사용 설정됩니다.
- Ray 클러스터의 Ray 컨테이너에
ray-logs
라는 볼륨을 배포하면 안 됩니다. 배포하면 GKE에서 로그를 수집하지 않습니다.
Ray 클러스터의 로그 수집 사용 설정
신규 또는 기존 Autopilot 또는 표준 GKE 클러스터가 있는 Ray 클러스터에 대해 로그 수집을 사용 설정할 수 있습니다. GKE가 Ray 클러스터에서 수집하는 Ray 로그는 컨테이너 로그로 분류됩니다. 여기에는 Ray 클러스터 헤더와 작업자 노드에서 생성된 모든 로그가 포함됩니다.
Google Cloud 콘솔 또는 gcloud CLI를 사용하여 Ray 클러스터에 대한 로그 수집을 사용 설정할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
만들기를 클릭한 다음 Standard 또는 Autopilot 섹션에서 구성을 클릭합니다.
탐색창의 클러스터에서 기능을 클릭합니다.
작업 섹션에서 시스템 및 워크로드 체크박스가 선택되어 있는지 확인합니다.
AI 및 머신러닝 섹션에서 Ray 연산자 사용 설정을 선택한 다음 Ray 클러스터의 로그 수집 사용 설정을 선택합니다.
만들기를 클릭합니다.
표준 클러스터의 경우 Google Cloud Managed Service for Prometheus도 사용 설정해야 합니다.
gcloud
--addons=RayOperator
옵션 및 --enable-ray-cluster-logging
옵션을 사용하여 클러스터를 만듭니다.
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--addons=RayOperator \
--enable-ray-cluster-logging
다음을 바꿉니다.
CLUSTER_NAME
: 새 클러스터의 이름LOCATION
: 새 클러스터의 위치(예: us-central1)
--addons=RayOperator
옵션과 --enable-ray-cluster-logging
옵션과 함께 gcloud container clusters update
명령어에를 사용하여 기존 클러스터에서 Ray 클러스터에 대한 로그 수집을 사용하도록 설정할 수 있습니다.
Ray 로그 보기
Logging을 사용하여 GKE에서 실행되는 Ray 클러스터에서 수집된 로그를 볼 수 있습니다.
Google Cloud 콘솔에서 Cloud Logging 페이지로 이동합니다.
쿼리 편집기를 열고 표현식을 쿼리 편집기에 붙여넣습니다.
쿼리 실행을 클릭합니다.
로그 탐색기에서 다음 예시 쿼리를 사용할 수 있습니다.
쿼리/필터 이름 | 표현식 |
---|---|
모든 Ray 로그 | resource.type="k8s_container" labels."k8s-pod/ray_io/is-ray-node"="yes" |
모든 Ray 헤드 로그 | resource.type="k8s_container" labels."k8s-pod/ray_io/node-type"="head" |
Ray 클러스터의 모든 로그 | resource.type="k8s_container" labels."k8s-pod/ray_io/cluster"="RAY_CLUSTER_NAME" |
Ray 작업의 모든 로그 | resource.type="k8s_container" jsonPayload.ray_submission_id="RAY_JOB_SUBMISSION_ID" |
Ray 클러스터의 측정항목 수집 사용 설정
신규 또는 기존 Autopilot 또는 표준 GKE 클러스터가 있는 Ray 클러스터에 대해 측정항목 수집을 사용 설정할 수 있습니다.
Ray 클러스터에 대해 측정항목 수집을 사용 설정하면 GKE가 기존 Ray 클러스터와 새 Ray 클러스터에서 측정항목을 수집합니다. GKE는 Ray에서 내보낸 모든 시스템 측정항목을 Prometheus 형식으로 수집합니다.
Google Cloud 콘솔 또는 gcloud CLI를 사용하여 Ray 클러스터에 대한 측정항목 수집을 사용 설정할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
만들기를 클릭한 다음 Standard 또는 Autopilot 섹션에서 구성을 클릭합니다.
탐색창의 클러스터에서 기능을 클릭합니다.
작업 섹션에서 시스템 및 워크로드 체크박스가 선택되어 있는지 확인합니다.
AI 및 머신러닝 섹션에서 Ray 연산자 사용 설정을 선택한 후 Ray 클러스터의 측정항목 수집 사용 설정을 선택합니다.
만들기를 클릭합니다.
표준 클러스터의 경우 Google Cloud Managed Service for Prometheus도 사용 설정해야 합니다.
gcloud
--addons=RayOperator
옵션 및 --enable-ray-cluster-monitoring
옵션을 사용하여 클러스터를 만듭니다.
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--addons=RayOperator \
--enable-ray-cluster-monitoring
다음을 바꿉니다.
CLUSTER_NAME
: 새 클러스터의 이름LOCATION
: 새 클러스터의 위치(예: us-central1)
--addons=RayOperator
옵션과 --enable-ray-cluster-monitoring
옵션과 함께 gcloud container clusters update
명령어에를 사용하여 기존 클러스터에서 Ray 클러스터에 대한 로그 수집을 사용하도록 설정할 수 있습니다.
Ray 측정항목 보기
Google Cloud Managed Service for Prometheus는 사전 구성된 GKE 기반 Ray 개요 대시보드를 제공하여 주요 Ray 측정항목을 중앙에서 볼 수 있도록 지원합니다. GKE 기반 Ray 클러스터를 빠르게 모니터링하려면 이 방법을 사용하는 것이 좋습니다.
Ray 클러스터에 측정항목 수집을 사용 설정하면 대시보드가 자동으로 채워집니다.
또는 GKE에서 실행되는 Ray 클러스터에서 수집된 개별 측정항목을 살펴보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
측정항목 선택 필드에서 Ray 관련 측정항목을 검색할 수 있습니다. 이러한 측정항목에는 일반적으로
prometheus/ray_
라는 프리픽스가 붙습니다. 예를 들면prometheus/ray_worker_cpu_seconds_total
또는prometheus/ray_memory_bytes_max
입니다.적절한 리소스 유형(예:
k8s_pod
,k8s_container
)을 선택하고 Ray 클러스터와 관련된 라벨(예:ray.io/cluster
)을 기준으로 필터링하여 검색을 더욱 세분화할 수 있습니다.
다음 단계
- Kubernetes의 Ray 알아보기
- KubeRay 문서 살펴보기