CubeStudio 怎么在完全无外网的内网里私有化部署?信创离线部署全流程实操(镜像导出 / Harbor / 出口机代理)
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、离线部署、内网部署、无外网、信创、私有化部署、私有仓库、Harbor、镜像导出、image save、image load、push_harbor、pull_harbor、all_image.py、nginx代理、coredns自定义host、iptables转发、apt yum pip 内网源、modelscope缓存、AIHub离线、国产化替代
金融、政务、军工等场景的机房往往完全不能连外网,但 AI 平台又依赖大量公网镜像、模型和依赖包。把 CubeStudio 这样一个覆盖训练、推理、标注、大模型的平台整套搬进内网,最大的工作量就是「把外网的东西一件不落地搬进去,再把所有拉取地址改成内网」。
CubeStudio 从设计上就支持信创离线部署,并提供了成套的镜像导出/导入脚本。本文把完整链路讲清:先看你属于哪种场景,再照着搬。
一、先分清两种离线场景
| 场景 | 做法 |
|---|---|
| 完全无法联网 | 在联网机器上下载好所有镜像/模型/依赖,压缩打包搬进内网,导入内网 Harbor 仓库 |
| 内网有一台可出网机器 | 用出口机做代理(nginx + host/coredns + iptables),内网其他机器走它拉取 |
前置条件:内网机器需已安装 docker、docker-compose、iptables。
二、完全无外网:五步搬运法
1. 联网机器上下载依赖与数据
在能连外网的机器上下载 kubectl、Harbor 离线安装包(区分 amd64 / arm64)、示例模型(resnet50/tf-mnist 等)和训练标注数据集(coco 等),全部放进一个 offline 目录,整体拷进内网。
kubectl 要下载与部署脚本
install/kubernetes/start.sh:12-18一致的带版本号文件(kubectl-amd64-1.28/kubectl-arm64-1.28),避免版本不匹配。
2. 内网搭建私有镜像仓库
在内网装好 Harbor(参考平台 install/kubernetes/harbor/ 文档),创建 cube-studio 和 rancher 两个项目,分别存放平台基础镜像和 rancher/k8s 基础镜像。给每台机器的 docker 把内网仓库加进 insecure-registries(HTTPS 仓库可跳过)。
3. 镜像转移至内网(核心)
平台用两个脚本生成镜像搬运命令——install/kubernetes/all_image.py(平台基础镜像)和 install/kubernetes/rancher/all_image.py(rancher 镜像)。运行前先把脚本里的内网仓库地址 harbor_repo 改掉,运行后各自生成一组 .sh:
| 脚本(all_image.py:136-141) | 用途 |
|---|---|
push_harbor.sh |
联网机:拉公网镜像 → 推送到内网 Harbor |
image_save.sh |
联网机:镜像压缩成 .tar.gz |
pull_harbor.sh |
内网机(每台):从内网 Harbor 拉取 |
image_load.sh |
内网机(每台):从压缩包导入 |
两条路线二选一:能连内网仓库就走 push/pull,连仓库都不行就走 save/load 拷贝压缩包。rancher 镜像同理,用 push_rancher_harbor.sh / rancher_image_save.sh 等(rancher/all_image.py:6-11)。
4. 把所有拉取地址改成内网
这是离线部署最容易漏的一步——散落在几处:
-
节点初始化脚本
install/kubernetes/init_node.sh:末尾默认调用sh pull_images_mini.sh,离线时改成sh pull_harbor.sh。 -
start.sh:注释掉
start.sh:12-18下载 kubectl 的逻辑(内网访问不了 OSS,kubectl 已手动装好)。 -
kustomization.yml:
install/kubernetes/cube/overlays/kustomization.yml底部的newName/newTag改成内网镜像。 -
平台配置
install/kubernetes/cube/overlays/config/config.py:把下列镜像配置项全部指向内网仓库——配置项 行号 REPOSITORY_ORG/PUSH_REPOSITORY_ORG931/933USER_IMAGE936NOTEBOOK_IMAGES951DOCKER_IMAGES/NERDCTL_IMAGES1065/1066NNI_IMAGES/WAIT_POD_IMAGES1250/1253INFERNENCE_IMAGES1280另需设置:
SERVICE_EXTERNAL_IP(config.py:790,格式['内网ip']或['内网ip|公网ip'])、DEFAULT_GPU_RESOURCE_NAME(config.py:1210,默认nvidia.com/gpu)。 -
Label Studio:
install/kubernetes/labelstudio/labelstudio.yaml里的 image 改内网镜像。
5. 部署并做界面内网修正
部署方式与外网相同。部署后还要在 Web 界面上:改 hubsecret 为内网仓库账号密码;把自带目标识别 Pipeline 的数据拉取命令由 wget https://... 改为 cp offline/coco.zip ./;推理服务的模型下载命令同样改为从本地 /mnt/admin/offline/ 拷贝。
三、AIHub 模型的离线预拉取
AIHub 模型市场的模型也要预先搬进内网。在联网机器上用 modelscope 镜像跑 download_all_model.py 下载全部模型(或只部署需要的 AIHub 应用拉取部分),把 aihub/modelscope/ 下的目录拷到内网的 /data/k8s/kubeflow/global/cube-studio/aihub/deep-learning/。最后在 config.py:1314 设置 AIHUB_CACHE_DIR='/mnt/workspace/.cache/modelscope/',重启后端 pod 并重新部署 AIHub 界面。
四、有出口机器:代理方案
如果内网里有一台机器能出网,可让它当代理出口,省掉大量手工搬运:
- 出口机跑 nginx 代理软件源:用
install/kubernetes/nginx-https/apt-yum-pip-source.conf,--network=host监听 80/443。 - 内网机器改 host:把
mirrors.aliyun.com、ccr.ccs.tencentyun.com、registry-1.docker.io、www.modelscope.cn、archive.ubuntu.com等域名在/etc/hosts指向出口机 IP;改完docker restart kubelet。端口被占时用iptables -t nat -A PREROUTING做 DNAT 转发。 - k8s 层解析:修改
kube-system里 coredns 的 configmap,在hosts { }段加同样的域名→出口机映射,重启 coredns pod,让容器内也能解析。 - 容器内换源:pip / apt / yum 指向
https://mirrors.aliyun.com对应的源。
这样内网机器无需逐个导入镜像,直接透过出口机拉取即可。
小结
CubeStudio 的离线部署本质是两件事:把外网资产搬进来(镜像走 all_image.py 生成的 push/pull 或 save/load 脚本,模型走 modelscope 预拉取),把所有拉取地址改成内网(init_node.sh / start.sh / kustomization.yml / config.py 四处)。这套能力配合 MIT 开源、源码可交付、原生适配国产算力,让 CubeStudio 能干净地落在完全隔离的信创内网里。
了解更多
CubeStudio 采用 MIT 开源协议,开源免费商用并支持源码交付与二次分发,开源版本已有数千家企业私有化部署。
- 官网与在线文档:https://www.cubestudio.vip
- 开源仓库(GitHub):https://github.com/data-infra/cube-studio
- 开源仓库(Gitee):https://gitee.com/data-infra/cube-studio
posted on 2026-10-04 20:09 cubestudio 阅读(4) 评论(0) 收藏 举报
浙公网安备 33010602011771号