返回全部

私有云和多云管理平台 | Cloudpods 原生支持 RISC-V 部署

开源社区:https://www.cloudpods.org/zh/

GitHub:https://github.com/yunionio/cloudpods

Cloudpods 原生支持 RISC-V 部署

Cloudpods 原本支持 x86_64 和 aarch64。从 v4.1 版本开始,riscv64 正式加入 Cloudpods 的原生支持架构列表。

从社区镜像导入 RISC-V 系统镜像

图 1:从社区镜像导入 RISC-V 系统镜像。

快速体验

在 RISC-V 操作系统上下载支持 riscv64 部署的最新 ocboot 安装包:

wget https://github.com/yunionio/ocboot/archive/refs/tags/master-v4.1.0-preview.tar.gz

tar xf master-v4.1.0-preview.tar.gz

cd ocboot-master-v4.1.0-preview

解压后执行:

./ocboot.sh run.py virt --version v4.1.0-20261022.0

即将一套 all-in-one 的 Cloudpods 部署在 RISC-V 硬件上,控制面和计算节点都可以在 RISC-V 物理机上拉起。由于做了 Cloudpods 当前使用的 K3s 和 Calico 版本的 RISC-V 移植,因此也可以将 RISC-V 节点加入存量的 Cloudpods 集群,也可以将 x86 或 ARM 节点加入 RISC-V 的集群,实现三种异构架构的混合部署。

三种异构架构的混合部署

图 2:三种异构架构的混合部署。

目前,Cloudpods RISC-V 适配版本为 v4.1.0-20261022.0,支持的操作系统版本包括:

openEuler 24.03 LTS SP3 riscv64

openEuler 24.03 LTS SP4 riscv64

Debian 13 riscv64

Ubuntu 24.04 LTS riscv64

Ubuntu 26.04 LTS riscv64

openRuyi 2026.9 riscv64

做了哪些工作

Cloudpods 对 RISC-V 的支持是把一条完整的技术栈适配到 RISC-V 上,包括安装器(ocboot)、K3s 控制面、Calico 容器网络、Operator、QEMU 虚拟化、各组件服务镜像和软件包。改动横跨十多个仓库、几十个 PR,前后持续一年多。

整个工作的主要难点在于很多关键组件在上游没有可直接使用的产物。例如,K3s 的 riscv64 发布链需要自行修复和维护;Calico 官方没有可直接使用的 riscv64 镜像;BIRD、bpftool、iptables、ipset 以及 Calico 的 go-build 工具链,都需要重新构建或修改源码。

为此,我们自行维护了 K3s 的 riscv64 构建,补齐 1.28.5 版本的 riscv64 二进制、离线镜像和安装包。自行维护了 BIRD、bpftool、toolchain 等 Calico 依赖的工具链的打包和编译,实现了 Calico v3.27 riscv64 镜像的构建。这些工作实现了 Cloudpods 的基础底座在三个架构的统一,允许用户可以在一个集群纳入 x86_64、arm64 或 riscv64 的控制节点和计算节点。

Cloudpods RISC-V 全链路适配涉及的技术栈

图 3:Cloudpods RISC-V 全链路适配涉及的技术栈。

因为 Cloudpods 软件构建基础设施已经在支持 ARM 架构的时候打下了良好的基础,自研组件的 riscv64 架构迁移倒是顺利很多。但具体的工作还是比较繁杂和琐碎,持续了很长时间。

每一个 deb、rpm、服务镜像都需要支持三种架构,通过依赖向上游扩散,得支持依赖软件包和镜像的三种架构的支持,以及依赖的依赖的三种架构支持。

最后还需要有 RISC-V 硬件环境进行验证,中科院软件所和 openRuyi 社区给了我们给力的支持,提供了几台 32GB 内存且 CPU 支持硬件虚拟化(KVM)的 spacemiT X100 服务器,使得我们可以在 native 的 riscv64 硬件上实现软件编译和打包,以及进行安装部署和验证。

同时,openRuyi 社区给 Cloudpods 社区提供了很多帮助,不仅支持了 Cloudpods v4.0.3 版本在 openRuyi 下的适配和集群功能验证,还给 Cloudpods 代码仓库贡献了 PR,并且在基础 OS、虚拟化等方面也提供了很多技术指导和帮助。

为了让 Cloudpods 社区第一时间体验 Cloudpods 对 RISC-V 的完整支持,我们提前 fork 出了 release/4.1 分支,发布了同时支持 x86_64、arm64 和 riscv64 架构的安装包和镜像,版本号为 v4.1.0-20261022.0,欢迎社区朋友们测试体验。

关于 RISC-V

RISC-V 诞生于 2010 年加州大学伯克利分校,初衷是打破 x86 与 ARM 长期把持的指令集垄断:x86 封闭且由 Intel/AMD 主导,ARM 虽高效但 IP 由 ARM 公司主导。RISC-V 以“开源、免费、模块化”为核心,基础指令极简,允许企业自由扩展自定义指令,从物联网 MCU 到 AI 服务器 CPU 都能按需剪裁。

相比 x86/ARM,RISC-V 的优势不在性能跑分,而在“可拥有、可改造”。RISC-V 是“开放标准+全球共建”,指令集公开、零授权费、无单点控制、扩展自由,软硬协同定制能力强,依托国际基金会与全球开发者,融入了全球化的生态体系,得到了主流 Linux 发行版的广泛支持,实现了自主可控与全球生态的兼得,特别适合异构算力与垂直场景。

当前 RISC-V 已占全球处理器出货约 1/4,嵌入式与边缘侧高度成熟,高性能路线(玄铁 C950、香山、spacemiT 等)开始切入服务器与 AI 推理场景。RVA23 等规范正补齐软硬件统一接口,生态从“能跑”走向“好用”。

在科技壁垒高筑、AI 大模型重塑算力的今天,RISC-V 提供了一个兼顾自主可控与全球生态的 CPU 架构选项,将在边缘 AI、具身智能、智算中心、车规与主权云中,成为最关键的开放算力底座。

关于 Cloudpods

Cloudpods 是一个开源的 Golang 实现的云原生的多云和混合云融合平台。Cloudpods 不仅可以管理本地的虚拟机和物理机资源,还可以管理其他公有云和私有云平台的资源。

Cloudpods 由北京云联壹云技术有限公司主导开发,并于 2019 年 9 月于 Github 开源。Cloudpods 采用核心开源模式,其商业版本云联壹云企业版(YunionCloud)自 2017 年开始研发,已经服务了上百家企业客户。

以上是文章的主要内容,作为融合云/多云管理/私有云/FinOps 厂商,云联壹云会持续关注这些领域的动态,分享相关的信息和技术,可以通过官网(yunion.cn)或关注公众号(云联壹云)来获取最新的信息,感谢大家的时间。

目录
其它

技术支持

技术支持

扫码加入技术支持微信群

扫码加入技术支持微信群


公众号

官方公众号

扫码关注获取最新动态