问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Kubernetes环境下GPU监控:使用DCGM和dcgm-exporter

创作时间:
作者:
@小白创作中心

Kubernetes环境下GPU监控:使用DCGM和dcgm-exporter

引用
CSDN
1.
https://blog.csdn.net/Richardlygo/article/details/138678361

在Kubernetes环境下进行GPU资源管理时,监控是一个不可或缺的环节。本文将介绍如何使用NVIDIA提供的DCGM(Data Center GPU Manager)工具,通过dcgm-exporter在Kubernetes集群中实现GPU监控,并展示如何在Grafana中查看GPU的使用情况和各项监控指标。

1、DCGM介绍

在前面给大家介绍了K8S环境下如何调度GPU,在显卡的实际应用中,监控是不可缺少的一环。通过监控,我们能更直观的了解到显卡的使用情况和各项监控指标。英伟达提供了DCGM (NVIDIA Data Center GPU Manager) 工具用于管理和监控集群环境中的N卡。

在K8S环境下,DCGM已经集成到dcgm-exporter中。dcgm-exporter可以将显卡相关监控指标以http接口的方式暴露给Prometheus。

2、dcgm-exporter安装

dcgm-exporter安装需要使用到servicemonitor。因此在安装前,我们需要先创建servicemonitor资源。如集群中已创建,则可忽略。

kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/main/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml  

再使用helm安装dcgm-exporter

helm repo add gpu-helm-charts   https://nvidia.github.io/dcgm-exporter/helm-charts
helm repo update
helm install --generate-name gpu-helm-charts/dcgm-exporter -n monitoring  

安装完成后检查相应的资源是否创建并启动

kubectl get all -n monitoring -owide|grep dcgm  

安装dcgm-exporter后,会起一个daemonset,默认会在每个node上起一个pod。如果node上没有相应的gpu资源,则pod会启动失败。同时会起一个svc,暴露9400端口,也就是dcgm-exporter暴露GPU监控指标的端口

同时会创建一个servicemonitor,用于告诉prometheus如何获取dcgm-exporter的数据

此时,我们已能够通过9400端口查看到GPU的监控指标

3、查看监控

登录Grafana,可以查看到显卡的使用情况及温度功耗等信息

4、参考资料

[1] **https://developer.nvidia.com/dcgm**

[2]** *https://github.com/NVIDIA/dcgm-exporter***

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号