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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐