全部产品
Search
文档中心

Container Service for Kubernetes:Mengaktifkan pemantauan GPU untuk kluster

更新时间:Nov 11, 2025

Pemantauan GPU memanfaatkan NVIDIA Data Center GPU Manager (DCGM) untuk membangun sistem pemantauan GPU yang andal. Topik ini menjelaskan cara mengaktifkan pemantauan GPU untuk kluster.

Prasyarat

Informasi latar belakang

Untuk mengelola perangkat GPU skala besar dalam kluster Kubernetes, Anda memerlukan sistem pemantauan yang komprehensif. Dengan memantau metrik GPU, Anda dapat memahami penggunaan GPU, status kesehatan, dan kinerja beban kerja di seluruh kluster. Hal ini membantu Anda mendiagnosis masalah dengan cepat, mengoptimalkan alokasi sumber daya GPU, serta meningkatkan pemanfaatan sumber daya. Selain insinyur O&M, peran lain seperti ilmuwan data dan insinyur algoritma AI juga dapat menggunakan metrik ini untuk memahami penggunaan GPU layanan mereka, yang berguna dalam perencanaan kapasitas dan penjadwalan tugas.

NVIDIA menyediakan DCGM untuk mengelola GPU dalam kluster skala besar. Sistem pemantauan GPU berbasis NVIDIA DCGM menawarkan fitur andal dan berbagai metrik pemantauan GPU. Fitur utamanya meliputi:

  • Pemantauan perilaku GPU

  • Manajemen konfigurasi GPU

  • Manajemen kebijakan GPU

  • Diagnostik kesehatan GPU

  • Statistik tingkat GPU dan tingkat thread

  • Konfigurasi dan pemantauan NVSwitch

Batasan

  • Driver NVIDIA pada node harus versi 418.87.01 atau lebih baru. Anda dapat masuk ke node GPU dan menjalankan perintah nvidia-smi untuk memeriksa versi driver.

  • Untuk menggunakan Metrik Profiling GPU, driver NVIDIA pada node harus versi 450.80.02 atau lebih baru. Untuk informasi lebih lanjut tentang Metrik Profiling GPU, lihat Ikhtisar Fitur.

  • Pemantauan untuk NVIDIA MIG tidak didukung.

Penagihan

Untuk informasi lebih lanjut tentang kebijakan penagihan Alibaba Cloud Prometheus, lihat Ikhtisar penagihan.

1. Aktifkan pemantauan Prometheus

Penting

Pastikan komponen ack-arms-prometheus berada pada versi 1.1.7 atau lebih baru. Anda dapat melihat versi komponen ack-arms-prometheus dan melakukan peningkatan jika diperlukan.

Untuk informasi lebih lanjut tentang cara mengaktifkan pemantauan Prometheus, lihat Aktifkan pemantauan Prometheus untuk ACK.

Jika Anda menggunakan layanan Prometheus open-source yang dikelola sendiri dan memerlukan kemampuan pemantauan GPU, Anda harus menginstal komponen ack-gpu-exporter.

2. Deploy aplikasi contoh

  1. Buat file bernama tensorflow-benchmark.yaml dengan konten berikut.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: tensorflow-benchmark
    spec:
      parallelism: 1
      template:
        metadata:
          labels:
            app: tensorflow-benchmark
        spec:
          containers:
          - name: tensorflow-benchmark
            image: registry.cn-beijing.aliyuncs.com/ai-samples/gpushare-sample:benchmark-tensorflow-2.2.3
            command:
            - bash
            - run.sh
            - --num_batches=50000
            - --batch_size=8
            resources:
              limits:
                nvidia.com/gpu: 1 # Request one GPU.
            workingDir: /root
          restartPolicy: Never
  2. Jalankan perintah berikut untuk mendeploy aplikasi tensorflow-benchmark pada node GPU.

    kubectl apply -f tensorflow-benchmark.yaml
  3. Jalankan perintah berikut untuk memeriksa status pod.

    kubectl get pod

    Output yang diharapkan:

    NAME                         READY   STATUS    RESTARTS   AGE
    tensorflow-benchmark-k***    1/1     Running   0          114s

3. Lihat data pemantauan GPU untuk kluster

  1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel sebelah kiri, pilih Operations > Prometheus Monitoring.

  3. Pada halaman Prometheus Monitoring, klik tab GPU Monitoring, lalu klik tab Cluster GPU Monitoring - Application Pod Dimension.

    Data pemantauan menunjukkan bahwa pod GPU sedang berjalan pada node cn-beijing.10.131.xx.xxx.

    image

  4. Klik tab Cluster GPU Monitoring - Node Dimension dan atur GPUNode menjadi cn-beijing.10.131.xx.xxx untuk melihat informasi GPU terperinci untuk node tersebut. Untuk informasi lebih lanjut tentang parameter tersebut, lihat Deskripsi dashboard.image

FAQ

Kebocoran memori DCGM

  • Latar Belakang: DCGM adalah alat yang disediakan oleh NVIDIA untuk mengelola dan memantau GPU. ack-prometheus-gpu-exporter adalah pod DaemonSet yang dimulai setelah Anda menginstal komponen Managed Service for Prometheus.

  • Penyebab: Kebocoran memori DCGM terjadi ketika memori yang digunakan oleh DCGM tidak dilepaskan dengan benar selama waktu proses, sehingga menyebabkan penggunaan memori terus meningkat.

  • Solusi: DCGM mungkin mengalami kebocoran memori. Untuk mengatasi masalah ini, pengaturan resources.limits dikonfigurasi untuk pod tempat ack-prometheus-gpu-exporter berjalan. Ketika penggunaan memori mencapai batas, ack-prometheus-gpu-exporter akan dimulai ulang, yang biasanya terjadi sekitar sekali sebulan. Setelah dimulai ulang, pod tersebut melaporkan metrik secara normal. Namun, selama beberapa menit setelah dimulai ulang, Grafana mungkin menampilkan beberapa metrik secara tidak normal, seperti lonjakan jumlah node. Tampilan akan kembali normal setelahnya. Untuk informasi lebih lanjut tentang masalah ini, lihat Apakah DCGM mengalami kebocoran memori?.

ack-prometheus-gpu-exporter mengalami OOM kill

  • Latar Belakang: ack-prometheus-gpu-exporter adalah pod DaemonSet yang dimulai setelah Anda menginstal komponen Managed Service for Prometheus. Pod ini mungkin menyebabkan masalah saat Anda mengaktifkan pemantauan.

  • Penyebab: ack-prometheus-gpu-exporter pada kluster ACK menggunakan DCGM dalam mode embedded. Dalam mode ini, DCGM mengonsumsi banyak memori pada node multi-GPU dan rentan terhadap kebocoran memori. Oleh karena itu, jika Anda menjalankan beberapa proses GPU pada instans dengan beberapa GPU dan mengalokasikan memori dalam jumlah kecil ke ack-prometheus-gpu-exporter, pod exporter tersebut mungkin dihentikan oleh event kehabisan memori (OOM).

  • Solusi: Dalam kasus ini, pod biasanya melanjutkan pelaporan metrik setelah dimulai ulang. Jika OOM kill terjadi secara sering, Anda dapat secara manual menambah batas memori limits untuk DaemonSet ack-prometheus-gpu-exporter di namespace arms-prom untuk mengatasi masalah tersebut.

ack-prometheus-gpu-exporter melaporkan error

  • Latar Belakang: ack-prometheus-gpu-exporter adalah pod DaemonSet yang dimulai setelah Anda menginstal komponen Managed Service for Prometheus. Error dari pod ini dapat menyebabkan masalah pemantauan.

  • Penyebab: Masalah ini terjadi jika log pod ack-prometheus-gpu-exporter berisi pesan error yang mirip dengan berikut:

    failed to get all process informations of gpu nvidia1,reason: failed to get gpu utilizations for all processes on device 1,reason: Not Found

    Error ini terjadi karena versi lama ack-prometheus-gpu-exporter tidak dapat mengambil metrik GPU untuk kontainer terkait ketika tidak ada tugas tertentu yang berjalan pada kartu GPU tertentu.

  • Solusi: Masalah ini telah diperbaiki pada versi terbaru. Untuk mengatasi masalah ini, tingkatkan komponen ack-arms-prometheus ke versi terbaru.