Ascend Operator
- 使用整卡调度(训练)、静态vNPU调度(训练)、断点续训或弹性训练的用户,必须安装Ascend Operator组件。如果使用Volcano组件作为调度器,需要先安装Volcano组件,否则Ascend Operator会启动失败。
- 使用整卡调度(推理)和推理卡故障重调度特性,下发acjob类型的分布式推理任务,必须安装Ascend Operator。
- 仅使用容器化支持和资源监测、推理卡故障恢复或推理卡故障重调度(单机任务)的用户,可以不安装Ascend Operator,请直接跳过本章节。
操作步骤
- 以root用户登录K8s管理节点,并执行以下命令,查看Ascend Operator镜像和版本号是否正确。
- 将Ascend Operator软件包解压目录下的YAML文件,拷贝到K8s管理节点上任意目录。
- 如不修改组件启动参数,可跳过本步骤。否则,请根据实际情况修改YAML文件中Ascend Operator的启动参数。启动参数请参见表1,可执行./ascend-operator -h查看参数说明。
- (可选)使用Ascend Operator为训练任务生成通信集合配置文件(RankTable File,也叫hccl.json文件),缩短集群通信建链时间。使用其他框架的用户,可跳过本步骤。
- 启动YAML中已经默认挂载了hccl.json文件的父目录,用户可以根据实际情况进行修改。
- 容器内Ranktable根目录路径需和宿主机Ranktable根目录路径保持一致。例如,宿主机路径为/user/mindx-dl/ranktable,则容器内挂载的路径也必须为/user/mindx-dl/ranktable。宿主机路径修改,则容器内挂载的路径也要同步修改。
- Ranktable根目录文件夹权限,必须满足以下任意一个条件。
- 所属的用户和用户组为hwMindX(集群调度组件默认的运行用户)。
- Ranktable根目录文件夹权限为777。
... - name: ranktable-dir mountPath: /user/mindx-dl/ranktable ... volumes: - name: ascend-operator-log hostPath: path: /var/log/mindx-dl/ascend-operator type: Directory - name: ranktable-dir hostPath: path: /user/mindx-dl/ranktable type: DirectoryOrCreate #用于检查给定文件夹是否存在,若不存在,则会创建空文件夹。 ...
- 执行以下命令,在父目录下创建hccl.json文件的具体挂载路径。
mkdir -m 777 /user/mindx-dl/ranktable/
- 启动YAML中已经默认挂载了hccl.json文件的父目录,用户可以根据实际情况进行修改。
- 在管理节点的YAML所在路径,执行以下命令,启动Ascend Operator。
kubectl apply -f ascend-operator-v{version}.yaml
启动示例如下:
deployment.apps/ascend-operator-manager created serviceaccount/ascend-operator-manager created clusterrole.rbac.authorization.k8s.io/ascend-operator-manager-role created clusterrolebinding.rbac.authorization.k8s.io/ascend-operator-manager-rolebinding created customresourcedefinition.apiextensions.k8s.io/ascendjobs.mindxdl.gitee.com created ...
- 执行以下命令,查看组件是否启动成功。
kubectl get pod -n mindx-dl
回显示例如下,出现Running表示组件启动成功。
1 2 3
NAME READY STATUS RESTARTS AGE ... ascend-operator-7667495b6b-hwmjw 1/1 Running 0 11s

- 安装组件后,组件的Pod状态不为Running,可参考组件Pod状态不为Running章节进行处理。
- 安装组件后,组件的Pod状态为ContainerCreating,可参考集群调度组件Pod处于ContainerCreating状态章节进行处理。
- 启动组件失败,可参考启动集群调度组件失败,日志打印“get sem errno =13”章节信息。
- 组件启动成功,找不到组件对应的Pod,可参考组件启动yaml执行成功,找不到组件对应的Pod章节信息。
参数说明
父主题: 手动安装