易百纳玄武S3 Kubernetes 集群化部署

易百纳玄武S3 Kubernetes 集群化部署 易百纳技术社区 2026-08-26 10:15:44 148
不想堆GPU服务器,也想跑大模型推理?这篇手把手教你怎么把手边的玄武S3边缘盒子,用开源K8s脚本拼成一台会自己调度、自己容错的推理算力集群。下面每一步都附了真实截图,照着做半小时能跑通。

这是一套面向玄武S3与RK182X算力设备的 Kubernetes集群化部署方案:把多台带 RK182X 的玄武S3作为Worker节点统一纳管,通过节点标签、DaemonSet和Service自动部署并维护推理服务,将外部请求分发到多个健康实例,实现多机算力调度与负载分流。同时支持节点动态扩缩容、故障实例自动摘除、服务统一入口及处理节点追踪,并可通过标准 OpenAI 兼容接口对接上层应用。配套节点环境检查、集群安装及一键部署脚本,便于快速完成设备接入和服务上线,半小时就能把几台边缘盒子变成可调度的推理集群。

这套方案最终可以实现:

①统一纳管:多台玄武 S3 作为 Worker 节点,推理请求自动分发到各个健康实例。

②弹性扩容:节点支持动态扩缩容。某台设备出问题,故障实例会被自动摘除,请求绕开它。

③统一入口:对外只暴露一个入口。上层应用用标准 OpenAI 兼容接口就能调用,不用关心背后有几台机器。

④运维省心:节点检查、集群安装、一键部署都有脚本,照着敲就行。

架构示意图:

易百纳社区

目录结构

.
├── scripts/
│   ├── install-x86-ubuntu24-k8s-master.sh    # 在Ubuntu24.04虚拟机上安装K8S控制平面
│   ├── install-arm64-debian13-k8s-master.sh  # 在玄武S3上安装K8S控制平面
│   └── install-arm64-debian13-k8s-worker.sh  # 在玄武S3上安装K8S Worker节点环境
├── rkllm3/                                   # rkllm3推理服务的K8S资源清单与部署脚本
│   ├── namespace.yaml
│   ├── daemonset.yaml
│   ├── service.yaml
│   ├── proxy-config.yaml
│   ├── init-node.sh                          # 每台玄武S3节点执行一次的环境检查
│   └── deploy.sh                             # 在master上执行,管理部署/删除/状态/标签
└── web/                                      # rkllm3精简管理台(部署在 master)
    ├── app.py                                # Python API 服务(监听 127.0.0.1:18080)
    ├── nginx.conf                            # Nginx反向代理配置
    ├── deploy-master.sh                      # 一键部署管理台到master
    ├── rkllm3-web.service                    # systemd 服务单元
    └── static/                               # 前端页面(index.html/app.js/style.css)

1. 部署 K8S Master 节点

*说明:Master节点既可以部署到Ubuntu24.04虚拟机,也可以直接部署在玄武S3平台上。如果部署在玄武S3上,只需将 install-x86-ubuntu24-k8s-master.sh 替换为 install-arm64-debian13-k8s-master.sh。下面以Ubuntu24.04虚拟机为例,详细介绍部署步骤。

*前提:将虚拟机网络连接模式设置为桥接模式,使 K8S 节点获得独立 IP。

易百纳社区

1.1 部署 K8S master 环境

cd kubernetes
chmod +x scripts/install-x86-ubuntu24-k8s-master.sh
sudo ./scripts/install-x86-ubuntu24-k8s-master.sh

脚本会完成:替换国内 APT/K8S 源、关闭 swap、配置内核模块、安装 containerd 与 kubeadm/kubelet/kubectl(版本 1.34)、初始化控制平面、安装 Flannel CNI。

等待两三分钟后,验证集群状态:

# 查看所有命名空间的 Pod 运行情况
kubectl get pods -A
所有 Pod 状态为 Running 即表示 Master 部署完成。

易百纳社区

1.2 rkllm3 Kubernetes 服务资源

chmod +x rkllm3/deploy.sh
sudo bash rkllm3/deploy.sh apply

易百纳社区

部署成功后如图所示。

1.3 部署 web 管理台

sudo bash web/deploy-master.sh

易百纳社区

部署完成后访问:http://<master-ip>/

2. 玄武S3上部署 K8S Worker 节点

2.1 配置为动态获取 IP

易百纳社区

易百纳社区

易百纳社区

2.2 部署 K8S Worker 环境

为每个 worker 设置唯一主机名:

易百纳社区

易百纳社区

安装 worker 节点环境:

易百纳社区

易百纳社区

脚本内容与 master 前 6 步相同(节点环境准备),不执行 kubeadm init,不安装 CNI。

2.3 将 Worker 加入 Master 管理

master 上执行:

kubeadm token create --print-join-command

易百纳社区

在输出的完整命令前加上sudo,然后在worker上执行。

易百纳社区

如图所示,节点成功加入集群。

2.4 初始化 Worker 节点

2.4.1 拉取所需镜像

sudo ctr -n k8s.io images pull \
  --hosts-dir /etc/containerd/certs.d \
  docker.io/library/debian:bookworm

sudo ctr -n k8s.io images pull \
  --hosts-dir /etc/containerd/certs.d \
  docker.io/library/nginx:1.27-alpine

# 确认镜像已缓存
sudo ctr -n k8s.io images ls | grep -E 'debian:bookworm|nginx:1.27-alpine'

易百纳社区

2.4.2 运行节点环境检查

chmod +x rkllm3/init-node.sh
sudo bash rkllm3/init-node.sh

脚本检查宿主机启动文件、RK182X 设备与模型、Pod 基础镜像,不启动/停止推理服务,不构建镜像。

  • RK1828 节点使用模型:/userdata/models/Qwen2.5-VL-7B/
  • RK1820 节点使用模型:/userdata/models/Qwen3-VL-2B/

易百纳社区

2.4.3 在 Master 上为 Worker 打 rkllm3 标签

kubectl label node k8s-workerX rkllm3=true

易百纳社区

将 k8s-workerX 替换为实际 worker 主机名。打上标签后 DaemonSet 会自动在该节点创建 Pod。

3.测试

在浏览器中访问 master 的管理台:

http://<master-ip>/

如图所示:

易百纳社区

管理台支持填写 prompt、上传图片、设置请求数,直接向集群发起测试请求,并显示每条请求由哪个 Worker/Pod 处理。

管理台是检验成果最好的地方:填一句 prompt、传张图,就能看到请求被分发到哪台 Worker、由哪个 Pod 处理。多刷几次,你能直观感受到请求在几台盒子之间来回流转,这就是多机算力调度在起作用。

4.常用运维命令

# 查看集群节点
kubectl get nodes -o wide

# 查看 rkllm3 Pod 状态
kubectl get pods -n rkllm3 -o wide -w

# 查看 rkllm3 服务
kubectl get svc -n rkllm3

# 查看部署状态(deploy.sh 封装)
bash rkllm3/deploy.sh status

# 删除 rkllm3 部署(保留 namespace)
bash rkllm3/deploy.sh delete

# 将节点移出 rkllm3 池
kubectl label node <node-name> rkllm3-

# 查看管理台服务状态
sudo systemctl status rkllm3-web nginx
sudo journalctl -u rkllm3-web -f

这就是用几台边缘盒子拼出推理算力集群的全过程。整套脚本已经开源,照着做半小时能跑起来。如果你也在折腾边缘推理,欢迎关注易百纳技术社区,或来社区一起交流你的部署方案。

网址:

https://gitee.com/xuanwu_s3/kubernetes

更多玄武S3资料: https://www.ebaina.com/solution/46

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
易百纳技术社区
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区