이 문서에서는 Google Cloud Managed Service for Prometheus를 사용하여 NVIDIA 데이터 센터 GPU Manager에서 측정항목을 수집할 수 있도록 Google Kubernetes Engine 배포를 구성하는 방법을 설명합니다. 이 문서에서는 다음을 수행하는 방법을 보여줍니다.
- 측정항목을 보고하도록 DCGM용 내보내기 도구를 설정합니다.
- 내보낸 측정항목을 수집하도록 Managed Service for Prometheus의 PodMonitoring 리소스를 구성합니다.
이 안내는 관리형 컬렉션을 Managed Service for Prometheus와 함께 사용하는 경우에만 적용됩니다. 자체 배포 컬렉션을 사용하는 경우 DCGM Exporter용 소스 저장소에서 설치 정보를 참조하세요.
이 안내는 예시로서 제공되며 대부분의 Kubernetes 환경에서 작동합니다. 관리형 DCGM 제품에 대한 자세한 내용은 DCGM 측정항목 수집 및 보기를 참조하세요.
제한적인 보안 또는 조직 정책으로 인해 애플리케이션 또는 내보내기 도구를 설치하는 데 문제가 있으면 지원을 위한 오픈소스 문서를 참조하는 것이 좋습니다.
DCGM에 대한 자세한 내용은 NVIDIA DCGM을 참조하세요.
기본 요건
Managed Service for Prometheus 및 관리형 컬렉션을 사용하여 DCGM에서 측정항목을 수집하려면 배포가 다음 요구사항을 충족해야 합니다.
- 클러스터가 Google Kubernetes Engine 버전 1.21.4-gke.300 이상을 실행 중이어야 합니다.
- 관리형 컬렉션이 사용 설정된 상태에서 Managed Service for Prometheus를 실행 중이어야 합니다. 자세한 내용은 관리형 컬렉션 시작하기를 참조하세요.
GKE 클러스터의 GPU 노드와 관련 클러스터의 GPU 유형을 열거하려면 다음 명령어를 실행합니다.
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'
자동 설치가 사용 중지되었거나 GKE 버전에서 지원되지 않는 경우 노드에 호환되는 NVIDIA GPU 드라이버를 설치해야 할 수 있습니다. NVIDIA GPU 기기 플러그인이 실행 중인지 확인하려면 다음 명령어를 실행합니다.
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
DCGM 내보내기 도구 설치
다음 구성을 사용하여 DCGM 내보내기 도구 DCGM-Exporter
를 설치하는 것이 좋습니다.
다음 명령어를 사용하여 포트 전달을 설정합니다.
kubectl -n gmp-public port-forward POD_NAME 9400
브라우저 또는 다른 터미널 세션의
curl
유틸리티를 사용하여 엔드포인트localhost:9400/metrics
에 액세스합니다.
ConfigMap 섹션을 맞춤설정하여 내보낼 GPU 측정항목을 선택할 수 있습니다.
또는 공식 Helm 차트를 사용하여 DCGM Exporter를 설치하는 것이 좋습니다.
로컬 파일에서 구성 변경사항을 적용하려면 다음 명령어를 실행합니다.
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform을 사용하여 구성을 관리할 수도 있습니다.
PodMonitoring 리소스 정의
대상 검색을 위해 Managed Service for Prometheus 연산자에는 동일한 네임스페이스의 DCGM 내보내기 도구에 해당하는 PodMonitoring 리소스가 필요합니다.
다음 PodMonitoring 구성을 사용할 수 있습니다.
로컬 파일에서 구성 변경사항을 적용하려면 다음 명령어를 실행합니다.
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform을 사용하여 구성을 관리할 수도 있습니다.
구성 확인
측정항목 탐색기를 사용하여 DCGM 내보내기 도구를 올바르게 구성했는지 확인할 수 있습니다. Cloud Monitoring이 측정항목을 수집하는 데 1~2분 정도 걸릴 수 있습니다.
측정항목이 수집되었는지 확인하려면 다음을 수행하세요.
-
Google Cloud 콘솔에서 leaderboard 측정항목 탐색기 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 쿼리 빌더 창의 툴바에서 이름이 code MQL 또는 code PromQL인 버튼을 선택합니다.
- 언어 전환 버튼에 PromQL이 선택되어 있는지 확인합니다. 언어 전환 버튼은 쿼리 형식을 지정할 수 있는 동일한 툴바에 있습니다.
- 다음 쿼리를 입력하고 실행합니다.
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
문제 해결
측정항목 수집 문제 해결에 대한 자세한 내용은 수집 측 문제 해결에서 내보내기 도구의 수집 관련 문제를 참조하세요.