全部產品
Search
文件中心

Container Service for Kubernetes:使用阿里雲Prometheus監控叢集GPU資源

更新時間:Jun 19, 2024

本文介紹通過阿里雲Prometheus對GPU資源進行監控,查看GPU各項指標。

前提條件

您已完成以下操作:

費用說明

在ACK叢集中使用ack-gpu-exporter組件時,預設情況下它產生的阿里雲Prometheus監控指標被視為基礎指標,並且是免費的。然而,如果您需要調整監控資料的儲存時間長度,即保留監控資料的時間超過阿里雲為基礎監控服務設定的預設保留期限,這可能會產生額外的費用。關於阿里雲Prometheus的自訂收費策略,請參見計費概述

使用阿里雲Prometheus進行GPU監控

  1. 登入Container Service管理主控台

  2. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

  3. 在叢集管理頁左側導覽列,選擇營運管理 > Prometheus監控

  4. Prometheus監控大盤列表頁面,單擊GPU APPGPU Node頁簽,您分別可以看到GPU APPGPU Node兩個監控大盤。

    • GPU APP用於監控Pod的GPU使用方式。

    • GPU Node用於監控叢集節點的GPU使用方式。

  5. 使用以下YAML檔案在GPU節點上部署一個服務,測試監控效果。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: bert-intent-detection
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: bert-intent-detection
      template:
        metadata:
          labels:
            app: bert-intent-detection
        spec:
          containers:
          - name: bert-container
            image: registry.cn-beijing.aliyuncs.com/ai-samples/bert-intent-detection:1.0.1
            ports:
            - containerPort: 80
            resources:
              limits:
                nvidia.com/gpu: 1
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        run: bert-intent-detection
      name: bert-intent-detection-svc
    spec:
      ports:
      - port: 8500
        targetPort: 80
      selector:
        app: bert-intent-detection
      type: LoadBalancer
  6. Prometheus監控大盤列表頁面,單擊GPU APP頁簽。

    GPU APP監控頁面,您可以看到GPU顯存、使用率、電量、穩定性幾項指標,以及部署在GPU節點上的應用。GPU

  7. 壓測部署在GPU節點上的應用,查看監控狀態的變化。

    1. 執行以下命令查看推理服務並擷取IP地址。

      kubectl get svc bert-intent-detection-svc

      預期輸出:

      NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)          AGE
      bert-intent-detection-svc   LoadBalancer   172.23.5.253   123.56.XX.XX   8500:32451/TCP   14m
    2. 執行以下命令進行壓測。

      hey -z 10m -c 100 "http://123.56.XX.XX:8500/predict?query=music"

      下圖可以看出壓測時,GPU利用率有了明顯的變化。GPU2