Prometheus——监控k8s中pod的GPU

由于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

 二、安装介质  

  • dcgm-exporter.tar  
  • pod-gpu-metrics-exporter.tar
  • pod-gpu-metrics-exporter-daemonset.yaml

(安装介质:https://github.com/leezake/GPU-POD-EXPORTER-BOOK)

三、安装步骤

      1:在进行安装前,首先需要对k8s中的有GPU节点打上gpu的标签,以便exporter仅部署在有gpu的节点上:

            kubectl label nodes  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的地址

Prometheus——监控k8s中pod的GPU_第1张图片

      部署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)

你可能感兴趣的:(Prometheus,Monitoring,GPU,Prometheus)