本文介绍如果通过阿里云Prometheus对GPU资源进行监控,查看GPU各项指标。

前提条件

您已完成以下操作:

安装阿里云Prometheus监控

在使用阿里云Prometheus监控对GPU进行监控前,您需要安装阿里云Prometheus监控。

您有三种安装阿里云Prometheus监控的方式。有关具体操作,请参见开启阿里云Prometheus监控

使用阿里云Prometheus进行GPU监控

  1. 登录阿里云Prometheus服务控制台
  2. 在左侧导航栏中单击Prometheus 监控
    Prometheus监控页面右侧,您可以看到目标ACK集群的监控项。
  3. 使用以下YAML文件在GPU节点上部署一个服务,测试监控效果。
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: bert-intent-detection
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            app: bert-intent-detection
        spec:
          containers:
          - name: bert-container
            image: registry.cn-beijing.aliyuncs.com/yukong/bert-intent-detection:1.0.1
            ports:
            - containerPort: 80
            resources:
              limits:
                nvidia.com/gpu: 1
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        run: bert-intent-detection
      name: bert-intent-detection-svc
    spec:
      ports:
      - port: 8500
        targetPort: 80
      selector:
        app: bert-intent-detection
      type: LoadBalancer
  4. 阿里云Prometheus服务控制台,单击对应集群中的GPU APP进入GPU监控页面。
    在GPU监控页面,可以看到GPU显存、使用率、电量、稳定性几项指标,以及部署在GPU节点上的应用。GPU
  5. 压测部署在GPU节点上的应用,查看监控状态的变化。
    1. 执行以下命令查看推理服务并获取IP地址。
      kubectl get svc bert-intent-detection-svc
      输出:
      NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)          AGE
      bert-intent-detection-svc   LoadBalancer   172.23.5.253   123.56.xx.xx   8500:32451/TCP   14m
    2. 执行以下命令进行压测。
      hey -z 10m -c 100 "http://123.56.xx.xx:8500/predict?query=music"
      下图可以看出压测时,GPU利用率有了明显的变化。GPU2