由于gpu_exporter采用NVIDIA Data Center GPU Manager (DCGM)工具,适用于监控集群环境,以下讨论在k8s集群下的监控。
- NVIDIA Tesla驱动程序= R384 +
- nvidia-docker版本> 2.0
- 将默认运行时设置为nvidia
- Kubernetes版本= 1.13
- 在/ etc / default / kubelet中设置KubeletPodResources:KUBELET_EXTRA_ARGS = - feature-gates = KubeletPodResources = true
(安装介质:https://github.com/leezake/GPU-POD-EXPORTER-BOOK)
1:在进行安装前,首先需要对k8s中的有GPU节点打上gpu的标签,以便exporter仅部署在有gpu的节点上:
kubectl label nodes
2:将dcgm-exporter.tar,pod-gpu-metrics-exporter.tar推送至镜像仓库:
dcgm-exporter:恢复dcgm_exporer镜像
更改镜像仓库(172.16.18.102:8443为当前kubernetes集群的私有docker registry地址)
将dcgm-exporter镜像上传到私有docker registry
对pod-gpu-metrics-exporter.tar进行相同的处理。
3:编辑pod-gpu-metrics-exporter-daemonset.yaml文件,将image中的地址替换为私有docker registry的地址
部署pod-gpu-metrics-exporter服务
验证服务是否部署成功,查看pod-gpu-metrics-exporter服务对应的pod是否为running状态(启动pod可能需要一点时间),k8s集群有几个gpu节点,将会启动几个pod。
dcgm_fan_speed_percent GPU 风扇转速占比(%)
dcgm_sm_clock GPU sm 时钟(MHz)
dcgm_memory_clock GPU 内存时钟(MHz)
dcgm_gpu_temp GPU 运行的温度(℃)
dcgm_power_usage GPU 的功率(w)
dcgm_pcie_tx_throughput GPU PCIe TX传输的字节总数 (kb)
dcgm_pcie_rx_throughput GPU PCIe RX接收的字节总数 (kb)
dcgm_pcie_replay_counter GPU PCIe重试的总数
dcgm_gpu_utilization GPU 利用率(%)
dcgm_mem_copy_utilization GPU 内存利用率(%)
dcgm_enc_utilization GPU 编码器利用率 (%)
dcgm_dec_utilization GPU 解码器利用率 (%)
dcgm_xid_errors GPU 上一个xid错误的值
dcgm_power_violation GPU 功率限制导致的节流持续时间(us)
dcgm_thermal_violation GPU 热约束节流持续时间(us)
dcgm_sync_boost_violation GPU 同步增强限制,限制持续时间(us)
dcgm_fb_free GPU fb(帧缓存)的剩余(MiB)
dcgm_fb_used GPU fb (帧缓存)的使用 (MiB)