Dokumen ini menjelaskan cara mengonfigurasi deployment Google Kubernetes Engine sehingga Anda dapat menggunakan Google Cloud Managed Service for Prometheus untuk mengumpulkan metrik dari NVIDIA Data Center GPU Manager. Dokumen ini menunjukkan cara melakukan hal berikut:
- Siapkan pengekspor untuk DCGM guna melaporkan metrik.
- Konfigurasi resource PodMonitoring untuk Google Cloud Managed Service for Prometheus guna mengumpulkan metrik yang diekspor.
Petunjuk ini hanya berlaku jika Anda menggunakan koleksi terkelola dengan Managed Service for Prometheus. Jika Anda menggunakan koleksi yang di-deploy sendiri, lihat repositori sumber untuk DCGM Exporter guna mengetahui informasi penginstalan.
Petunjuk ini diberikan sebagai contoh dan diharapkan dapat berfungsi di sebagian besar lingkungan Kubernetes. Jika Anda mengalami masalah saat menginstal aplikasi atau pengekspor karena kebijakan organisasi atau keamanan yang ketat, sebaiknya baca dokumentasi open source untuk mendapatkan dukungan.Untuk informasi tentang DCGM, lihat NVIDIA DCGM.
Prasyarat
Untuk mengumpulkan metrik dari DCGM menggunakan Managed Service for Prometheus dan pengumpulan terkelola, deployment Anda harus memenuhi persyaratan berikut:
- Cluster Anda harus menjalankan Google Kubernetes Engine versi 1.21.4-gke.300 atau yang lebih baru.
- Anda harus menjalankan Google Cloud Managed Service for Prometheus dengan mengaktifkan koleksi terkelola. Untuk informasi selengkapnya, lihat Mulai menggunakan koleksi terkelola.
Pastikan Anda memiliki kuota yang cukup untuk GPU NVIDIA.
Untuk menghitung node GPU di cluster GKE Anda dan jenis GPU-nya di cluster yang relevan, jalankan perintah berikut:
kubectl get nodes -l cloud.google.com/gke-gpu -o jsonpath='{range .items[*]}{@.metadata.name}{" "}{@.metadata.labels.cloud\.google\.com/gke-accelerator}{"\n"}{end}'
Perhatikan bahwa Anda mungkin harus menginstal driver GPU NVIDIA yang kompatibel pada node jika penginstalan otomatis dinonaktifkan atau tidak didukung untuk versi GKE Anda. Untuk memastikan plugin perangkat GPU NVIDIA berjalan, jalankan perintah berikut:
kubectl get pods -n kube-system | grep nvidia-gpu-device-plugin
Menginstal pengekspor DCGM
Sebaiknya instal pengekspor DCGM,
DCGM-Exporter
, dengan menggunakan konfigurasi berikut:
Siapkan penerusan port dengan perintah berikut:
kubectl -n gmp-public port-forward POD_NAME 9400
Akses endpoint
localhost:9400/metrics
menggunakan browser atau utilitascurl
di sesi terminal lainnya.
Anda dapat menyesuaikan bagian ConfigMap untuk memilih metrik GPU mana yang akan ditampilkan.
Atau, pertimbangkan untuk menggunakan diagram Helm resmi untuk menginstal DCGM Exporter.
Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.
Menentukan resource PodMonitoring
Untuk penemuan target, Layanan Terkelola untuk Operator Prometheus memerlukan resource PodMonitoring yang sesuai dengan pengekspor DCGM di namespace yang sama.
Anda dapat menggunakan konfigurasi PodMonitoring berikut:
Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.
Memverifikasi konfigurasi
Anda dapat menggunakan Metrics Explorer untuk memverifikasi bahwa Anda telah mengonfigurasi pengekspor DCGM dengan benar. Cloud Monitoring mungkin memerlukan waktu satu atau dua menit untuk menyerap metrik Anda.
Untuk memastikan metrik diserap, lakukan tindakan berikut:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
- Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
- Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
- Masukkan dan jalankan kueri berikut:
DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="gmp-public"}
Pemecahan masalah
Untuk mengetahui informasi tentang cara memecahkan masalah penyerapan metrik, lihat Masalah terkait pengumpulan dari pengekspor dalam Memecahkan masalah sisi penyerapan.