
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Atlas for Volcano is built on the open-source Volcano scheduling plugin mechanism, adding features such as Atlas AI processor (NPU) affinity scheduling and virtual device scheduling. It is deployed on management nodes. Volcano is a scheduler component that leverages the interconnect topology and processing logic of Atlas AI processors to achieve optimal utilization, maximizing the computing performance of Atlas AI processors.
The basic Kubernetes scheduler can only perform resource scheduling based on the number of Atlas chips. To achieve affinity scheduling and maximize resource utilization, it is necessary to be aware of the network connectivity between Atlas chips and select the network-optimal resources. MindCluster provides the Volcano service deployed on management nodes, offering network affinity scheduling for different Atlas devices and network topologies.
self-maintain-available-card is enabled by
default. When disabled, available device information is obtained from the underlying cluster scheduling components.)resource-level-config parameter.Based on the characteristics of Atlas 910 AI processors and resource utilization rules, the following affinity policies are established (listed by priority):
Atlas for Volcano contains two images:
volcano-npu_*.so).Starting from Atlas NPU Scheduler Plugin v26.1.0, tags follow the format below:
text<component-version>-<ascend-scheduling-plugin-version>-<os>
| 字段 | 示例值 | 说明 |
|---|---|---|
component-version | v1.7.0 | Version Number of Volcano component |
ascend-scheduling-plugin-version | v26.1.0 | Version Number of Atlas NPU Scheduler Plugin |
os | alpinelatest | Operating System for Volcano Images |
| Tag | Dockerfile | Image Content |
|---|---|---|
v1.12.0-v26.1.0-alpinelatest | Dockerfile-scheduler.alpine | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.12.0, Base Image: Alpine latest) |
v1.12.0-v26.1.0-alpinelatest | Dockerfile-controller.alpine | Volcano Controller v26.1.0 Image (based on Volcano v1.12.0, Base Image: Alpine latest) |
v1.12.0-v26.1.0-openeuler24.03 | Dockerfile-scheduler.openeuler | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.12.0, Base Image: openEuler 24.03) |
v1.12.0-v26.1.0-openeuler24.03 | Dockerfile-controller.openeuler | Volcano Controller v26.1.0 Image (based on Volcano v1.12.0, Base Image: openEuler 24.03) |
| Tag | Dockerfile | Image Content |
|---|---|---|
v1.9.0-v26.1.0-alpinelatest | Dockerfile-scheduler.alpine | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.9.0, Base Image: Alpine latest) |
v1.9.0-v26.1.0-alpinelatest | Dockerfile-controller.alpine | Volcano Controller v26.1.0 Image (based on Volcano v1.9.0, Base Image: Alpine latest) |
v1.9.0-v26.1.0-openeuler24.03 | Dockerfile-scheduler.openeuler | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.9.0, Base Image: openEuler 24.03) |
v1.9.0-v26.1.0-openeuler24.03 | Dockerfile-controller.openeuler | Volcano Controller v26.1.0 Image (based on Volcano v1.9.0, Base Image: openEuler 24.03) |
| Tag | Dockerfile | Image Content |
|---|---|---|
v1.7.0-v26.1.0-alpinelatest | Dockerfile-scheduler.alpine | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.7.0, Base Image: Alpine latest) |
v1.7.0-v26.1.0-alpinelatest | Dockerfile-controller.alpine | Volcano Controller v26.1.0 Image (based on Volcano v1.7.0, Base Image: Alpine latest) |
v1.7.0-v26.1.0-openeuler24.03 | Dockerfile-scheduler.openeuler | Volcano Scheduler v26.1.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.7.0, Base Image: openEuler 24.03) |
v1.7.0-v26.1.0-openeuler24.03 | Dockerfile-controller.openeuler | Volcano Controller v26.1.0 Image (based on Volcano v1.7.0, Base Image: openEuler 24.03) |
Tags for Atlas NPU Scheduler Plugin v26.0.0 and earlier versions follow the format below:
text<component-version>-<ascend-scheduling-plugin-version>
| Field | Example | Description |
|---|---|---|
component-version | v1.7.0 | Version Number of Volcano component |
ascend-scheduling-plugin-version | v26.0.0 | Version Number of Atlas NPU Scheduler Plugin |
Using linux-aarch64 architecture as an example: Atlas for Volcano package download: Ascend-mindxdl-volcano_26.0.0_linux-aarch64.zip
| Tag | Dockerfile (path within package) | Image Content |
|---|---|---|
v1.9.0-v26.0.0 | volcano-v1.9.0/Dockerfile-scheduler | Volcano Scheduler v26.0.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.9.0, Base Image: Alpine latest) |
v1.9.0-v26.0.0 | volcano-v1.9.0/Dockerfile-controller | Volcano Controller v26.0.0 Image (based on Volcano v1.9.0, Base Image: Alpine latest) |
Using linux-aarch64 architecture as an example: Atlas for Volcano package download: Ascend-mindxdl-volcano_26.0.0_linux-aarch64.zip
| Tag | Dockerfile (path within package) | Image Content |
|---|---|---|
v1.7.0-v26.0.0 | volcano-v1.7.0/Dockerfile-scheduler | Volcano Scheduler v26.0.0 Image (Including Atlas NPU Scheduler Plugin, based on Volcano v1.7.0, Base Image: Alpine latest) |
v1.7.0-v26.0.0 | volcano-v1.7.0/Dockerfile-controller | Volcano Controller v26.0.0 Image (based on Volcano v1.7.0, Base Image: Alpine latest) |
Software Dependencies
| Software | Supported Versions | Installation Location | Description |
|---|---|---|---|
| Kubernetes | 1.19.x~1.34.x | All nodes | See https://kubernetes.io/docs/ |
| Atlas Device Plugin | Same version as Volcano | Compute nodes | Volcano depends on Atlas Device Plugin to report device information |
| ClusterD | Same version as Volcano | Management nodes | Volcano depends on ClusterD to aggregate cluster fault information |
Hardware Requirements
| Resource | Up to 100 Nodes | 500 Nodes | 1000 Nodes |
|---|---|---|---|
| Volcano Scheduler CPU | 2.5 cores | 4 cores | 5.5 cores |
| Volcano Scheduler Memory | 2.5 GB | 5 GB | 8 GB |
| Volcano Controller CPU | 2 cores | 2 cores | 2.5 cores |
| Volcano Controller Memory | 2.5 GB | 3 GB | 4 GB |
Pull images
Pull the Atlas for Volcano images from AscendHub, replacing {tag} with the actual version tag (v1.9.0-v26.0.0 recommended).
bashdocker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/vc-scheduler:{tag} docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/vc-controller-manager:{tag}
Retag images
Retag the official images with local tags for consistent naming and easier operations management.
bashdocker tag swr.cn-south-1.myhuaweicloud.com/ascendhub/vc-scheduler:{tag} volcanosh/vc-scheduler:{tag} docker tag swr.cn-south-1.myhuaweicloud.com/ascendhub/vc-controller-manager:{tag} volcanosh/vc-controller-manager:{tag}
Local Image Build Process for Atlas NPU Scheduler Plugin v26.1.0 and Later Versions
Example: Build a Volcano v1.9.0 component image with linux-aarch64 architecture based on Alpine latest, integrated with Atlas NPU Scheduler Plugin v26.1.0.
Obtain the target Dockerfile
Navigate to the chapter Supported Tags and Dockerfile Links, open the Dockerfile-scheduler.alpine and Dockerfile-controller.alpine link corresponding to your target version, and save the file to a local directory on your aarch64 environment.
Build the Docker image locally (disable cache to ensure a clean build)
bash# Build scheduler image docker build --no-cache -t volcanosh/vc-scheduler:v1.9.0 ./ -f Dockerfile-scheduler.alpine # Build controller image docker build --no-cache -t volcanosh/vc-controller-manager:v1.9.0 ./ -f Dockerfile-controller.alpine
Important Notes If your Docker version is earlier than 18.09 or BuildKit is not manually enabled, the TARGETPLATFORM variable cannot be read during image building, which will cause the image build to fail.
- TARGETPLATFORM is a built-in global variable of Docker BuildKit for identifying the target build platform, e.g. linux/amd64, linux/arm64.
- This variable is automatically injected only after BuildKit is enabled. It cannot be used in legacy Docker environments or environments where BuildKit is disabled by default.
- Run the following command before building to enable BuildKit temporarily:
bashexport DOCKER_BUILDKIT=1
Local Image Build Process for Atlas NPU Scheduler Plugin v26.0.0 and Earlier Versions
Example: Build a Volcano v1.9.0 component image based on Alpine latest with linux-aarch64 architecture, integrated with Atlas NPU Scheduler Plugin v26.0.0.
Download the officially released component package
shellwget https://gitcode.com/Ascend/mind-cluster/releases/download/v26.0.0/Ascend-mindxdl-volcano_26.0.0_linux-aarch64.zip
Extract the package to a custom directory
shellunzip Ascend-mindxdl-volcano_26.0.0_linux-aarch64.zip -d Ascend-mindxdl-volcano_26.0.0_linux-aarch64
Enter the extracted working directory
shellcd Ascend-mindxdl-volcano_26.0.0_linux-aarch64/volcano-v1.9.0
Build Docker images locally (disable cache to ensure a clean build)
bash# Build scheduler image docker build --no-cache -t volcanosh/vc-scheduler:v1.9.0 ./ -f Dockerfile-scheduler # Build controller image docker build --no-cache -t volcanosh/vc-controller-manager:v1.9.0 ./ -f Dockerfile-controller
Start Volcano
Replace {version} in the YAML filename with the actual version (currently volcano v1.9.0). Before deployment,
replace the image {tag} in the YAML file with the actual image version.
bashkubectl apply -f volcano-{version}.yaml
Verify deployment
bashkubectl get pods -A | grep volcano
Expected result: The volcano-related Pods in the corresponding namespace should be in Running state.
For descriptions of currently supported Atlas hardware models, please refer to the official documentation: Supported Product Formats and OS List
View the https://www.hiascend.com/en/legal/softlicense for the Mind series software contained in these images.
As with all container images, pre-installed software packages (Python, system libraries, etc.) may be subject to their respective license agreements.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务