本文介紹通過阿里雲Prometheus對GPU資源進行監控,查看GPU各項指標。
前提條件
您已完成以下操作:
已安裝阿里雲Prometheus監控。具體操作,請參見阿里雲Prometheus監控。
費用說明
在ACK叢集中使用ack-gpu-exporter
組件時,預設情況下它產生的阿里雲Prometheus監控指標被視為基礎指標,並且是免費的。然而,如果您需要調整監控資料的儲存時間長度,即保留監控資料的時間超過阿里雲為基礎監控服務設定的預設保留期限,這可能會產生額外的費用。關於阿里雲Prometheus的自訂收費策略,請參見計費概述。
使用阿里雲Prometheus進行GPU監控
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列,選擇 。
在Prometheus監控大盤列表頁面,單擊GPU APP和GPU Node頁簽,您分別可以看到GPU APP和GPU Node兩個監控大盤。
GPU APP用於監控Pod的GPU使用方式。
GPU Node用於監控叢集節點的GPU使用方式。
使用以下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
在Prometheus監控大盤列表頁面,單擊GPU APP頁簽。
在GPU APP監控頁面,您可以看到GPU顯存、使用率、電量、穩定性幾項指標,以及部署在GPU節點上的應用。
壓測部署在GPU節點上的應用,查看監控狀態的變化。
執行以下命令查看推理服務並擷取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
執行以下命令進行壓測。
hey -z 10m -c 100 "http://123.56.XX.XX:8500/predict?query=music"
下圖可以看出壓測時,GPU利用率有了明顯的變化。