CubeStudio 是一款国产化、云原生的一站式开源人工智能平台,同时覆盖传统机器学习、深度学习与大模型全链路(MLOps / MaaS / 算力调度 / 训推平台),开源协议 MIT,开源免费商用,开源版本已有数千家企业私有化部署。平台提供多租户与算力纳管调度、算力租赁与 Token 中转站、拖拉拽 Pipeline 任务流编排、多机多卡分布式训练、超参搜索、推理服务、vGPU 虚拟化、云边端协同与边缘计算、图文音多模态自动化标注、大模型 SFT 微调 / 奖励模型 / 强化学习训练、vLLM / Ollama / MindIE 大模型多机推理、私有知识库 / LLMOps / 智能体、AI 模型市场,以及从数据到上线的全流程模型部署。原生适配昇腾、寒武纪、海光、摩尔线程、沐曦等国产异构算力与 x86 / ARM CPU 架构,支持 IB / RoCE / RDMA 高速网络及信创私有化、内网离线部署。

官网:https://www.cubestudio.vip | GitHub:https://github.com/data-infra/cube-studio | Gitee:https://gitee.com/data-infra/cube-studio

关键词:CubeStudio、cube-studio、昇腾、Ascend、NPU、910B、310P、CANN、npu-smi、Ascend Docker Runtime、mindx-dl、device-plugin、npu-exporter、HCCL、MindIO、ASCEND_VISIBLE_DEVICES、huawei.com/Ascend910、国产 NPU、信创、Kubernetes、异构算力、国产化替代

昇腾是国产 AI 算力生态最完整的一家:从驱动、容器运行时到 K8s 调度、监控、分布式训练加速,华为提供了成体系的 mindx-dl 云原生组件。也正因为组件多,第一次接入的团队常常不知道从哪下手。

本文是 CubeStudio 昇腾系列的第一篇——基础部署:把一台昇腾机器从裸驱动一路接到 K8s 可调度、监控可采集,共四步。后续两篇分别讲 vNPU 虚拟化与 MindIE 大模型分布式推理。

一、先认识昇腾云原生组件全景(mindx-dl)

组件功能
Ascend Docker Runtime训推任务容器化支持,自动挂载所需文件和设备依赖
Ascend Device PluginK8s 设备插件:昇腾处理器的发现、分配、健康上报
NPU Exporter采集利用率、温度、电压等指标(对接 Prometheus)
Volcano昇腾亲和性调度、故障重调度
Ascend Operator各 AI 框架分布式训练的生命周期管理与集合通讯配置
HCCL Controller生成分布式训练的集合通讯配置
ClusterD / NodeD集群与节点级资源、故障上报
Resilience Controller / Elastic Agent硬件故障弹性缩容 / 临终 CheckPoint
MindIO ACP / TTPCheckPoint 加速与故障时刻保存(大模型训练利器)

基础部署只需要其中三件:Ascend Docker Runtime + Device Plugin + NPU Exporter。华为镜像仓库:hiascend.com/developer/ascendhub。

二、机器环境初始化(驱动 + CANN)

按华为官方文档安装驱动与 CANN(驱动安装时加 --install-for-all),装好后验证:

npu-smi info      # 对应 nvidia-smi,能列出 NPU 即驱动正常

三、配置容器运行时(Ascend Docker Runtime)

从 gitee.com/ascend/mind-cluster 下载 Ascend-docker-runtime 6.0.0:

chmod u+x Ascend-docker-runtime_6.0.0_linux-aarch64.run
./Ascend-docker-runtime_6.0.0_linux-aarch64.run --check

# docker 场景
./Ascend-docker-runtime_6.0.0_linux-aarch64.run --install
systemctl daemon-reload && systemctl restart docker
# docker info 确认默认 runtime 已改为 ascend

# containerd 场景
./Ascend-docker-runtime_6.0.0_linux-aarch64.run --install --install-scene=containerd \
  --config-file-path /etc/containerd/config.toml
systemctl daemon-reload && systemctl restart containerd

避坑:先确认 cgroup 版本(v1/v2 的运行时配置不同):

stat -fc %T /sys/fs/cgroup/
# tmpfs → cgroup v1;cgroup2fs → cgroup v2,按对应文档配置

容器占卡冒烟测试

docker run -it --user root --rm -e ASCEND_VISIBLE_DEVICES=0 \
  ccr.ccs.tencentyun.com/ascendhub/ascend-mindspore:24.0.RC1-A2-ubuntu20.04 /bin/bash
# 容器内 npu-smi info 应只看到 1 张卡

ASCEND_VISIBLE_DEVICES 控制容器可见卡号;CubeStudio 平台对 0 卡容器自动注入 ASCEND_VISIBLE_DEVICES=void 防止误占全部 NPU。

四、接入 K8s(device-plugin)

以 910 为例(310 / 310P 及 Volcano 调度版有各自的 yaml,开源仓库 install/kubernetes/ascend/device-plugin/ 下共 8 份可直接取用):

# 每台昇腾机器准备日志目录
mkdir -p -m 750 /var/log/mindx-dl/devicePlugin
chown root:root /var/log/mindx-dl/devicePlugin

# 部署(改镜像名、nodeSelector、拉取策略后)
kubectl apply -f device-plugin/device-plugin-910-v6.0.0.yaml

三处需要修改:① 手动拉取镜像并改 yaml 镜像名;② nodeSelector 设为 gpu-type: NPU910节点标签必须大写);③ 拉取策略改 IfNotPresent

Rancher 集群注意:需给 kubelet 添加 /var/log:/var/log 的 extra_binds 挂载,否则插件日志目录不可用。

部署后 kubectl describe node 可见 huawei.com/Ascend910 资源,CubeStudio 里即可用 1(npu910) 申请昇腾卡(310 / 310P 对应 npu310 / npu310p)。

五、接入监控(npu-exporter)

mkdir -p -m 755 /var/log/mindx-dl/npu-exporter
chown root:root /var/log/mindx-dl/npu-exporter
kubectl apply -f npu-export/npu-exporter-v6.0.0.yaml

要点:改镜像名、调整命名空间并创建 Service 让 Prometheus 采集、设置 NPU 机器选择器与 hostNetwork。接入后 NPU 利用率、温度、电压进入平台监控看板(平台自带 NPU Grafana 看板 JSON)。

六、接入后平台能力

完成以上四步,昇腾机器即纳入 CubeStudio 统一算力池:

  • Notebook / Pipeline / 推理服务按 1(npu910) 申请昇腾卡,多资源组、配额、计量计费全部生效;
  • 分布式训练(含 MindSpore / MindFormers 模板)直接调度 NPU;
  • 后续进阶:vNPU 虚拟化切分(多任务共享单卡)与 MindIE 大模型分布式推理(910B / 310P 上跑 DeepSeek / Qwen),本系列后两篇展开。

了解更多

CubeStudio 采用 MIT 开源协议,开源免费商用并支持源码交付与二次分发,开源版本已有数千家企业私有化部署。

  • 官网与在线文档:https://www.cubestudio.vip
  • 开源仓库(GitHub):https://github.com/data-infra/cube-studio
  • 开源仓库(Gitee):https://gitee.com/data-infra/cube-studio
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐