验证

本页说明如何验证所选部署场景所需的 HAMi 产品组合。仅在安装了 HAMi-WebUI 时才验证 HAMi-WebUI。

请以当前交付包和版本页作为后端支持和资源键名称的唯一依据。以下 NVIDIA 示例使用通用的 HAMi NVIDIA 资源键。Ascend 后端键取决于安装包。

验证 HAMi 核心

检查 HAMi 调度器是否正在运行:

kubectl get pods -n kube-system | grep "hami-scheduler"

验证 NVIDIA 后端

对于运行在 NVIDIA GPU 上的 HAMi,请检查内置的 NVIDIA device plugin:

kubectl get pods -n kube-system | grep "hami-device-plugin"

检查 NVIDIA 节点是否报告 HAMi 资源:

kubectl get node ${nodeName} -o=jsonpath='{.status.allocatable}'

输出中应包含诸如 nvidia.com/gpualloc 之类的资源名称。如果该节点还报告了同一组 GPU 的直接厂商资源键,请确认当前由哪个 device plugin 负责设备暴露。

验证 Ascend 后端

对于运行在 Ascend NPU 或 Ascend vNPU 上的 HAMi,请检查 Alauda Build of HAMi Ascend Device Plugin 的 OLM 状态、自定义资源、DaemonSet 和当前所有者:

kubectl get subscription,csv,installplan -A \
  | grep hami-ascend-device-plugin
kubectl -n <hami-namespace> get hamiadp hami-ascend-device-plugin -o yaml
kubectl -n <hami-namespace> get ds hami-ascend-device-plugin -o wide
kubectl get ds -A -o wide \
  | grep -E 'ascend-device-plugin|hami-ascend-device-plugin'

CSV 必须为 Succeeded,自定义资源必须完成协调且没有错误,DaemonSet 的 desired 和 ready 数量必须一致。目标节点上必须停止原生的 Ascend Device Plugin。如果所有权尚未收敛,请先按照 切换 Ascend Device Plugin 所有者 继续操作。

检查 Ascend 节点是否报告了由已安装的 HAMi 与 HAMi Ascend Device Plugin 安装包组合所记录的资源名称:

kubectl get node ${nodeName} -o=jsonpath='{.status.allocatable}'

如果缺少预期的、由 HAMi 管理的资源,请确认原生 Ascend Device Plugin 是否仍在运行。

验证 ACP 配额元数据

如果用户在 ACP 中管理加速器配额,请确认已为与节点可分配资源中出现的相同 HAMi 资源键注册 ACP 配额元数据。节点可分配资源和 ACP 配额字段是两个独立的检查项。

验证工作负载调度

部署一个请求 HAMi 资源的工作负载。以 NVIDIA 后端示例为例:

spec:
  containers:
    - image: your-image
      imagePullPolicy: IfNotPresent
      name: gpu
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
          nvidia.com/gpualloc: 1     # Request 1 physical GPU (required)
          nvidia.com/gpucores: "50"  # Request 50% of the compute resources per GPU (optional)
          nvidia.com/gpumem: 8000    # Request 8000MB of video memory per GPU (optional)

如果工作负载调度成功,请根据已安装的监控路径,从节点、ACP 监控或 HAMi WebUI 查看加速器使用情况。

对于 Ascend 场景,请使用已安装的 HAMi 与 HAMi Ascend Device Plugin 安装包组合所记录的资源键部署一个代表性工作负载。确认该 Pod 使用 runtimeClassName: ascend,状态变为 Running,并且可以运行 npu-smi info 以及设备内存或推理工作负载。删除该 Pod 并确认设备已释放。全卡语义请参见 HAMi on Ascend NPU,切分语义请参见 HAMi on Ascend vNPU

对于 NVIDIA 后端节点,还可以检查节点上的进程级使用情况:

nvidia-smi pmon -s u -d 1

验证监控

工作负载运行一段时间后,打开 管理员 -> Operations Center -> Monitor -> Dashboards,检查 HAMi 监控面板。

如果已安装 HAMi-WebUI,请打开 {platform-url}/clusters/{cluster-name}/hami-webui,检查是否显示了资源概览数据。启用 NodePort 时,还需验证后端查询路径:

hami_webui_url=http://<node-ip>:<node-port>

curl --silent --show-error --fail \
  -H 'Content-Type: application/json' \
  --data '{"query":"up"}' \
  "${hami_webui_url}/api/vgpu/v1/monitor/query/instant-vector"

WebUI 查询必须返回 HTTP 200 和一个包含 data 数组的 JSON 对象。当该请求返回 HTTP 523 时仍能加载的页面,尚未通过监控验证。

对于 NVIDIA 后端指标,如果该指标路径属于部署的一部分,请根据 NVIDIA GPU 指标文档 验证关联的 DCGM-Exporter 安装包。对于 Ascend 后端指标,如果在 NPUOperatorCtl 实例中启用了 exporter 组件,请根据 Ascend NPU 监控文档 验证 NPU Exporter。

下一步