昇腾 NPU 组件安装¶
本章节提供昇腾 NPU 驱动、Device Plugin、NPU-Exporter 等组件的安装指导。
前提条件¶
安装步骤¶
使用 NPU 资源之前,需要完成固件安装、NPU 驱动安装、 Docker Runtime 安装、用户创建、日志目录创建以及 NPU Device Plugin 安装,详情参考如下步骤。
安装固件¶
- 安装前请确认内核版本在“二进制安装”安装方式对应的版本范围内,则可以直接安装NPU驱动固件。
- 固件与驱动下载请参考固件下载地址
- 固件安装请参考安装 NPU 驱动固件
安装 NPU 驱动¶
- 如驱动未安装,请参考昇腾官方文档进行安装。例如 Ascend910,参考 910 驱动安装文档。
- 运行 npu-smi info 命令,并且能够正常返回 NPU 信息,表示 NPU 驱动与固件已就绪。
安装 Docker Runtime¶
-
下载 Ascend Docker Runtime
社区版下载地址:https://www.hiascend.com/zh/software/mindx-dl/community
wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run
安装到指定路径下,依次执行以下两条命令,参数为指定的安装路径:
-
修改 containerd 配置文件
containerd 无默认配置文件时,依次执行以下3条命令,创建配置文件:
mkdir /etc/containerd containerd config default > /etc/containerd/config.toml vim /etc/containerd/config.toml
containerd 有配置文件时:
根据实际情况修改 runtime 的安装路径,主要修改 runtime 字段:
... [plugins."io.containerd.monitor.v1.cgroups"] no_prometheus = false [plugins."io.containerd.runtime.v1.linux"] shim = "containerd-shim" runtime = "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime" runtime_root = "" no_shim = false shim_debug = false [plugins."io.containerd.runtime.v2.task"] platforms = ["linux/amd64"] ...
执行以下命令,重启 containerd:
用户创建¶
在对应组件安装的节点上执行以下命令创建用户。
# Ubuntu 操作系统
useradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX
usermod -a -G HwHiAiUser hwMindX
# Centos 操作系统
useradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX
usermod -a -G HwHiAiUser hwMindX
日志目录创建¶
在对应节点创建组件日志父目录和各组件的日志目录,并设置目录对应属主和权限。执行下述命令,创建组件日志父目录。
执行下述命令,创建 Device Plugin 组件日志目录。
Note
请分别为所需组件创建对应的日志目录,当前案例中只需要 Device Plugin 组件。 如果有其他组件需求请参考官方文档
创建节点 Label¶
参考下述命令在对应节点上创建 Label:
# 在安装了驱动的计算节点创建此标签
kubectl label node {nodename} huawei.com.ascend/Driver=installed
kubectl label node {nodename} node-role.kubernetes.io/worker=worker
kubectl label node {nodename} workerselector=dls-worker-node
kubectl label node {nodename} host-arch=huawei-arm //或者host-arch=huawei-x86 ,根据实际情况选择
kubectl label node {nodename} accelerator=huawei-Ascend910 //根据实际情况进行选择
# 在控制节点创建此标签
kubectl label node {nodename} masterselector=dls-master-node
安装 Device Plugin 和 NpuExporter¶
功能模块路径: 容器管理 -> 集群管理 ,点击目标集群的名称,从左侧导航栏点击 Helm 应用 -> Helm 模板 -> 搜索 ascend-mindxdl 。
- DevicePlugin :通过提供通用设备插件机制和标准的设备API接口,供Kubernetes使用设备。建议使用默认的镜像及版本。
- NpuExporter :基于Prometheus/Telegraf生态,该组件提供接口,帮助用户能够关注到昇腾系列AI处理器以及容器级分配状态。建议使用默认的镜像及版本。
- ServiceMonitor :默认不开启,开启后可前往可观测性模块查看 NPU 相关监控。如需开启,请确保 insight-agent 已安装并处于运行状态,否则将导致 ascend-mindxdl 安装失败。
- isVirtualMachine :默认不开启,如果 NPU 节点为云主机场景,请开启 isVirtualMachine 参数。
安装成功后,对应命名空间下会出现两个组件,如下图:
同时节点信息上也会出现对应 NPU 的信息:
一切就绪后,我们通过页面创建工作负载时,就能够选择到对应的 NPU 设备,如下图:
Note
有关详细使用步骤,请参照应用使用昇腾(Ascend)NPU。