国产算力监控与统一纳管
不同品牌的国产 GPU/NPU 收进同一算力池:监控用各厂商 exporter → Prometheus → Grafana,纳管用 GPU_RESOURCE 统一资源名 + gpu-type 调度 + 配额/计费。接入流程见 国产算力接入全流程SOP。
一、监控:各厂商 exporter → Prometheus → Grafana
| 卡 | Exporter(源码路径) | Grafana 看板 |
|---|---|---|
| NVIDIA GPU | dcgm-exporter(install/kubernetes/gpu/dcgm-exporter.yaml) |
GPU 利用率看板 |
| 华为昇腾 NPU | npu-exporter(install/kubernetes/ascend/npu-export/,含 310P 单 usoc 版 npu-exporter-310P-1usoc-v6.0.0.yaml) |
install/kubernetes/prometheus/grafana/dashboard/npu.json |
| 海光 DCU | dcu-exporter(install/kubernetes/gpu/dcu/dcu-exporter-v2.yaml) |
install/kubernetes/gpu/dcu/dcu-exporter-dashboard.json |
采集指标:卡利用率、显存、温度、电压/功耗等(昇腾 NPU Exporter 官方定位即「实时监测利用率、温度、电压」)。
接入新卡监控(8 步流程第 5 步)三步:①kubectl apply -f <厂商 exporter yaml>(先同步镜像进内网、改 yaml 镜像名与 nodeSelector);②把采集端点加入 Prometheus 抓取目标(ServiceMonitor 或静态 target);③导入对应 Grafana 看板 JSON。监控地址由 PROMETHEUS、GRAFANA_*_PATH 配置控制(见 配置项速查)。
二、统一算力池
- 统一资源名:
GPU_RESOURCE(install/docker/config.py:1193)把每款卡登记成简称(gpu/npu910/dcu/mlu370/mx/xpu/mthread…共 14 项),用户申请写「数量(简称)」,平台翻译成 K8s 资源请求,异构卡进同一池。 - gpu-type 节点标签:每台算力节点打
gpu-type标签(大写,如NPU910/DCU)标明机型,平台按标签调度到匹配节点。key 小写、标签大写,勿配反。 - 多资源组 / 配额 / 计费:多资源组(按机型划组)、项目组配额(按 CPU/内存/各类卡限额,超额不调度)、计量计费(按用量出账、支持租赁充值)、监控告警对国产卡同样生效。
前提:驱动与运行时装对版本
监控能采到数的前提是底层驱动/运行时版本匹配硬件:海光 DCU 的驱动(rock 版本)与 DTK 版本需匹配型号(如 rock-5.7.1-6.2.26+ 支持 Z100/K100/K100-AI,推荐 DTK 24.04/25.04),装完 lsmod | grep hydcu 确认模块加载;昇腾装驱动(--install-for-all)+ CANN,npu-smi info 看设备。驱动/运行时对了,exporter 才能采到可信数据。
三、混用机器:禁用卡 / 指定卡
CPU+GPU 混插机器上,不申请卡的容器需被屏蔽卡,避免偷占。GPU_NONE(install/docker/config.py:1215):
| 卡 | 屏蔽环境变量 |
|---|---|
| NVIDIA | NVIDIA_VISIBLE_DEVICES=none |
| 海光 DCU | HIP_VISIBLE_DEVICES=-1 |
| 昇腾 NPU | ASCEND_VISIBLE_DEVICES=void |
指定「第 n 张卡」用同一组可见设备环境变量实现;接入新卡时按同样思路补入其可见设备变量。