安装 Alauda Build of HAMi

本页描述如何在 ACP 中安装核心 Alauda Build of HAMi 集群插件。HAMi-WebUI 和 HAMi Ascend Device Plugin 是单独打包的组件,具有各自的安装任务。

开始之前

  • 具有目标 ACP 集群的集群管理员访问权限。
  • 目标 ACP 和 Kubernetes 版本支持的 Alauda Build of HAMi 软件包。请参见 版本和组件
  • 加速器节点已完成所需的厂商驱动、runtime 和节点就绪检查,且已通过相应的 NVIDIA GPU 厂商基础文档Ascend NPU 厂商基础文档
  • 目标后端受当前 HAMi 软件包和 ACP 版本支持。

选择部署场景

在安装 HAMi 之前,请使用 选择 HAMi 部署场景 确定所需的产品、HAMi 设置、安装顺序和设备暴露归属方。选择场景后返回本页。

为目标集群选择一个厂商后端。此操作步骤不涉及在同一集群中同时启用 NVIDIA GPU 和 Ascend NPU 后端。

准备集群插件

从 Customer Portal 获取 Alauda Build of HAMi,并将集群插件软件包上传到 ACP。请联系 Consumer Support 获取软件包访问权限。标准上传操作步骤请参见 Upload Packages

安装 Alauda Build of HAMi

  1. 为应运行 HAMi 组件的节点添加标签。使用所选后端和插件表单所需的 node selector。

    常见 NVIDIA 后端示例:

    kubectl label nodes <node-name> gpu=on

    常见 Ascend 后端示例:

    kubectl label nodes <node-name> ascend=on
    WARNING

    对同一物理设备,请保持单一的设备暴露和资源分配归属方。

    如果 HAMi 在某个节点上暴露设备,则不要再让厂商设备插件或 DRA driver 在该节点上暴露相同设备。对于 Ascend,请使用 切换 Ascend Device Plugin 归属方 作为维护操作步骤。

  2. 在 ACP 中,依次进入 管理员 -> Marketplace -> Cluster Plugins,切换到目标集群,并部署 Alauda Build of HAMi

  3. 为所选后端和 runtime 配置插件表单。

    字段如何决定
    Enable NVIDIA当 HAMi 管理 NVIDIA GPU 节点时启用。默认已启用。
    NVIDIA Runtime Class Name使用为 HAMi NVIDIA 工作负载准备好的 RuntimeClass。插件表单通常默认为 hami-nvidia
    Create NVIDIA Runtime Class仅在同名 RuntimeClass 尚未有其他归属方时启用。
    NVIDIA Device List StrategyNVIDIA_VISIBLE_DEVICES 注入使用 envvar。仅在 NVIDIA 基础路径已准备好 CDI 且驱动和 hook 路径已知后使用 cdi-annotations
    NVIDIA Device Split Count单个 GPU 上允许并发运行的 HAMi 任务最大数量。默认值为 10
    NVIDIA Device Memory Scaling内存超售比。除非容量规划包含超售,否则保持 1
    NVIDIA Device Core Scaling计算超售比。除非容量规划包含超售,否则保持 1
    Node Scheduler Policy选择 binpack 可将工作负载集中;选择 spread 可将其分散到各节点。
    GPU Scheduler Policy选择 binpack 可将工作负载集中;选择 spread 可将其分散到各设备。
    Custom Kubernetes Scheduler Image留空以使用根据集群 Kubernetes 版本和已配置 registry 生成的镜像。仅在集群需要覆盖时才设置完整镜像引用。
    Enable Ascend当 HAMi 调度 Ascend NPU 或 vNPU 资源时启用。默认已禁用。
    NOTE
    • Enable NVIDIA 会启用 HAMi 内置的 NVIDIA device plugin。
    • Enable Ascend 会在 HAMi scheduler 中启用 Ascend 支持。
    • Alauda Build of HAMi Ascend Device Plugin 会单独暴露 Ascend 设备,以供 HAMi 管理的分配使用。

    有关超售行为,请参见 配置超售比。有关 CDI 准备和 driver 路径,请继续参见 NVIDIA GPU 厂商基础文档

  4. 验证 HAMi scheduler 是否正在运行:

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

    对于 NVIDIA 场景,还要验证内置 NVIDIA device plugin:

    kubectl get pods -n kube-system | grep "hami-device-plugin"
  5. 对于 NVIDIA 场景,确认节点暴露了预期的 HAMi NVIDIA 资源键:

    kubectl get node <node-name> -o jsonpath='{.status.allocatable}'

    对于 Ascend 场景,在检查节点可分配资源之前,请先安装 Alauda Build of HAMi Ascend Device Plugin。核心 HAMi 安装本身不会暴露 Ascend 设备。

  6. 对于 NVIDIA 场景,为用户将要请求的 HAMi 资源名称注册 ACP 配额元数据。对于 Ascend 场景,请先完成 HAMi Ascend Device Plugin 的安装并确认其资源名称,然后再注册元数据。有关 ACP 托管的资源元数据操作步骤,请参见 加速器资源配额

继续安装后端特定组件

不经过 HAMi 调度的直接 Ascend NPU 分配不在此 HAMi 管理的安装路径范围内。该工作负载模型请继续参见 直接请求 Ascend NPU 资源

后续步骤