Prometheus——监控k8s中pod的GPU
由于gpu_exporter采用NVIDIA Data Center GPU Manager (DCGM)工具,适用于监控集群环境,以下讨论在k8s集群下的监控。一、设备需求:NVIDIA Tesla驱动程序= R384 +nvidia-docker版本> 2.0将默认运行时设置为nvidiaKubernetes版本= 1.13在/ etc / default /...
由于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 <gpu-node-name> hardware-type=NVIDIAGPU
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。
四、配置Gpu Exporter采集地址
- 将上述metric地址(http://ip:9400/metrics)配置到Prometheus Server targets.json文件中。通过访问ip:9400/metrics 查看监控指标。
五、采集指标解释
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)
更多推荐
所有评论(0)