您可以使用托管 Prometheus 服务来监控自建集群集群节点中的 GPU,本文为您介绍配置的步骤和注意事项。
Kubernetes 集群中,允许使用 dcgm-exporter 组件暴露 GPU 的 metrics。因此,您可以使用托管 Prometheus 来监控自建集群内节点中的 GPU 显卡的状态信息。
在自建集群中安装 dcgm-exporter 组件,详情请参见 官网文档。
./install.sh \ --agent vmagent \ # 采集器类型。 --region cn-beijing \ # VMP 工作区所在地域。 --namespace volcano-metrics \ # 部署采集器的命名空间。 --remote-write-url http://vmp-test.com/workspaces/b762e1a3-37***/api/v1/write \ # VMP 工作区的 URL 地址。其中域名需要修改为自定义域名。 --basic-auth-username username-demo \ # VMP 工作区 Basic Auth 认证模式下的认证用户名。 --basic-auth-password password-demo # VMP 工作区 Basic Auth 认证模式下的认证密码。
在自建集群中使用 ServiceMonitor 或 PodMonitor 配置采集规则,本文以 ServiceMonitor 为例,配置示例如下。
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: gpu-discover # 配置采集规则名称 namespace: default # 配置命名空间。不要求与采集器或 exporter 在相同空间 spec: endpoints: - port: metrics # 配置 service.yaml 中 Port 的 name 字段的值 relabelings: # 配置指标的 relabel。如没有需求,可省略 - targetLabel: environment action: replace # 这个例子中我们添加一个固定 label:environment="Production" replacement: Production namespaceSelector: matchNames: - kube-system # 通过命名空间进行筛选,配置为 exporter 所在的命名空间。 selector: matchLabels: app.kubernetes.io/name: dcgm-exporter # 使用标签选择采集对象,配置为 service.yaml 中的 Label 字段值。
说明
更多集群中服务发现的配置方式,请参见 服务发现。
登录 Grafana ,使用 GPU 相关的 PromQL 语句创建 GPU 相关大盘,可以正常看到 GPU 监控信息。
说明
GPU 相关的 PromQL 语句,请参见 DCGM 常见指标。