更新时间:2025-01-06 GMT+08:00

监控GPU资源指标

通过Prometheus和Grafana,可以实现对GPU资源指标的观测。本文以实际示例介绍如何通过Prometheus查看集群的GPU显存的使用。

本文将通过一个示例应用演示如何监控GPU资源指标,具体步骤如下:

  1. 访问Prometheus

    (可选)为Prometheus绑定LoadBalancer类型的Service,支持从外部访问Prometheus。

  2. 监控GPU指标

    在集群中部署使用GPU能力的工作负载,将自动上报GPU监控指标。

  3. 访问Grafana

    从Grafana可视化面板中查看Prometheus的监控数据。

前提条件

访问Prometheus

Prometheus插件安装完成后会在集群中部署一系列工作负载和Service。其中Prometheus的Server端会在monitoring命名空间下以有状态工作负载进行部署。

您可以创建一个公网LoadBalancer类型Service,这样就可以从外部访问Prometheus。

  1. 登录CCE控制台,选择一个已安装Prometheus的集群,单击集群名称进入集群,在左侧导航栏中选择“服务”。
  2. 单击右上角“YAML创建”,创建一个公网LoadBalancer类型的Service。

    apiVersion: v1
    kind: Service
    metadata:
      name: prom-lb     #服务名称,可自定义
      namespace: monitoring
      labels:
        app: prometheus
        component: server
      annotations:
        kubernetes.io/elb.id: 038ff***     #请替换为集群所在VPC下的ELB实例ID,且ELB实例为公网访问类型
    spec:
      ports:
        - name: cce-service-0
          protocol: TCP
          port: 88             #服务端口号,可自定义
          targetPort: 9090     #Prometheus的默认端口号,无需更改
      selector:                #标签选择器可根据Prometheus Server实例的标签进行调整
        app.kubernetes.io/name: prometheus
        prometheus: server
      type: LoadBalancer

  3. 创建完成后在浏览器访问“负载均衡公网IP地址:服务端口”,访问Prometheus。

    图1 访问Prometheus

  4. 单击“Status > Targets”,可以查看到Prometheus监控了哪些目标。

    图2 查看监控目标

监控GPU指标

创建一个使用GPU的工作负载,等工作负载正常运行后,访问Prometheus,在“Graph”页面中,查看GPU指标。

关于GPU指标详情请参见GPU监控指标说明

图3 查看GPU监控指标

访问Grafana

Prometheus插件同时安装了Grafana(一款开源可视化工具),并且与Prometheus进行了对接。您可以创建一个公网LoadBalancer类型Service,这样就可以从公网访问Grafana,从Grafana中看到Prometheus的监控数据。

单击访问地址,访问Grafana,选择合适的DashBoard,即可以查到相应的聚合内容。

  1. 登录CCE控制台,选择一个已安装Prometheus插件的集群,单击集群名称进入集群,在左侧导航栏中选择“服务”。
  2. 单击右上角“YAML创建”,为Grafana创建一个公网LoadBalancer类型Service。

    apiVersion: v1
    kind: Service
    metadata:
      name: grafana-lb     #服务名称,可自定义
      namespace: monitoring
      labels:
        app: grafana
      annotations:
        kubernetes.io/elb.id: 038ff***     #请替换为集群所在VPC下的ELB实例ID,且ELB实例为公网访问类型
    spec:
      ports:
        - name: cce-service-0
          protocol: TCP
          port: 80     #服务端口号,可自定义
          targetPort: 3000     #Grafana的默认端口号,无需更改
      selector:
        app: grafana
      type: LoadBalancer

  3. 创建完成后在浏览器访问“负载均衡公网IP地址:服务端口”,访问Grafana并选择合适的DashBoard,即可查看GPU资源状态。

    图4 查看GPU虚拟化资源