鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
Rainbond V6 国产化部署教程,针对鲲鹏 CPU + 麒麟 V10 的离线环境,手把手教你从环境准备到应用上线,所有依赖包提前打包好,步骤写成傻瓜式操作指南。别说技术团队了,照着文档一步步来,让你领导来都能独立完成部署。
一、环境规划
准备至少两台机器。
架构 | OS | 作用 |
---|---|---|
Arm64 | 任意,Mac 也可以 | 下载离线包 |
Arm64 | 麒麟 V10 | 单机部署 K8s 和 Rainbond |
二、准备离线包
2.1 准备 RKE2 离线包(K8s)
下载 RKE2 v1.30.4
离线安装包。
wget https://pkg.rainbond.com/rke2/v1.30.4+rke2r1/rke2-images-linux-arm64.tar
wget https://pkg.rainbond.com/rke2/v1.30.4+rke2r1/rke2.linux-arm64.tar.gz
wget https://pkg.rainbond.com/rke2/v1.30.4+rke2r1/sha256sum-arm64.txt
wget https://rancher-mirror.rancher.cn/rke2/install.sh
2.2 准备 Helm 离线包
下载 Helm 二进制离线包。
wget https://get.helm.sh/helm-v3.18.1-linux-arm64.tar.gz
2.3 准备 Rainbond 离线包
使用脚本下载 Rainbond 离线镜像。
cat >download_rbd_images.sh <<'EOF'
#!/bin/bashIMAGE_DOMAIN=registry.cn-hangzhou.aliyuncs.com
IMAGE_NAMESPACE=goodrain
VERSION=v6.3.0-releaseimage_list="${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rainbond:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-chaos:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-mq:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rainbond-operator:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-worker:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-api:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-init-probe:${VERSION}
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-monitor:v2.20.0
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/apisix-ingress-controller:v1.8.3
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/apisix:3.9.1-debian
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/local-path-provisioner:v0.0.30
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/minio:RELEASE.2023-10-24T04-42-36Z
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/rbd-db:8.0.19
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/registry:2.6.2
${IMAGE_DOMAIN}/${IMAGE_NAMESPACE}/alpine:latest"for image in ${image_list}; dodocker pull "${image}"
donedocker save -o rainbond-offline-images.tar ${image_list}
EOF
获取 Rainbond Helm Chart 包。
git clone -b main --depth=1 https://github.com/goodrain/rainbond-chart.git
三、离线部署准备
以下操作在离线的麒麟 V10 服务器上执行。
3.1 导入离线包
导入上述准备的离线包。
3.2 安装 Helm 命令
解压离线包并将二进制移动到可执行目录。
tar zxvf helm-v3.18.1-linux-arm64.tar.gz && cp linux-arm64/helm /usr/local/bin
四、离线部署 K8s(RKE2 方式)
4.1 配置 RKE2 参数
- 创建 RKE2 配置文件目录。
mkdir -p /etc/rancher/rke2/config.yaml.d
- 配置 RKE2 参数,需禁用默认 Ingress 这会与 Rainbond 网关冲突。
cat >/etc/rancher/rke2/config.yaml.d/00-rbd.yaml <<EOL
disable:
- rke2-ingress-nginx
system-default-registry: registry.cn-hangzhou.aliyuncs.com
EOL
- 配置私有镜像仓库,
goodrain.me
是 Rainbond 默认安装的私有镜像仓库域名。
cat >/etc/rancher/rke2/registries.yaml <<EOL
mirrors:"goodrain.me":endpoint:- "https://goodrain.me"
configs:"goodrain.me":auth:username: adminpassword: admin1234tls:insecure_skip_verify: true
EOL
4.2 安装 RKE2(K8s 集群)
- 将 RKE2 离线镜像包放到指定目录,启动时它会自动加载离线镜像包。
mkdir -p /var/lib/rancher/rke2/agent/images
cp /root/artifacts-rke2/rke2-images* /var/lib/rancher/rke2/agent/images
# 同时将 Rainbond 离线镜像包也放入该目录
cp /root/rainbond-offline-images.tar /var/lib/rancher/rke2/agent/images
- 准备安装目录。
mkdir /root/artifacts-rke2
- 将
rke2、rke2-images、sha256sum
移动到一个目录中,如下所示:
mv install.sh rke2* sha256sum* /root/artifacts-rke2
cd /root/artifacts-rke2
- 执行安装命令。
INSTALL_RKE2_ARTIFACT_PATH=/root/artifacts-rke2 sh install.sh
- 启动 RKE2 服务。
systemctl enable rke2-server.service && systemctl start --no-block rke2-server.service
- 查看启动日志,大概需要 5-10 分钟才能完全启动。
journalctl -fu rke2-server
4.3 配置 Kubectl(K8s 命令行工具)
- 配置 Kubectl 访问。
mkdir /root/.kube
cp /etc/rancher/rke2/rke2.yaml /root/.kube/config
cp /var/lib/rancher/rke2/bin/kubectl /usr/local/bin
- 验证 K8s 集群状态。
kubectl get node
kubectl get pod -n kube-system
五、离线部署 Rainbond V6
5.1 配置 Rainbond 安装参数
- 创建 Helm
values.yaml
配置文件。
cat >values.yaml <<EOL
Cluster:#集群入口IP,网关节点的公网IP或者内网IP,或者网关节点之上的负载均衡gatewayIngressIPs: 192.168.0.100nodesForGateway:# k8s节点外网IP,没外网IP填写内网IP- externalIP: 192.168.0.100# k8s节点内网IPinternalIP: 192.168.0.100# k8s节点名称,通过 kubectl get node 获取name: ecs-c893
# - More nodes for gatewaynodesForChaos:# k8s节点名称- name: ecs-c893
# - More nodes for chaoscontainerdRuntimePath: /var/run/k3s/containerd # containerd.sock文件路径
Component:rbd_app_ui:env:- name: DISABLE_DEFAULT_APP_MARKET # 禁用默认在线开源应用商店value: "true"
EOL
5.2 离线安装 Rainbond
- 执行命令离线安装 Rainbond。
helm install rainbond ./rainbond-chart --create-namespace -n rbd-system -f values.yaml
- 执行完安装命令后,在集群中执行以下命令查看安装状态。
watch kubectl get pod -n rbd-system
- 当名称包含
rbd-app-ui
的 Pod 为 Running 状态时即安装成功。如下所示,Podrbd-app-ui-678979c995-94kzb
为 Running 状态时,表示 Rainbond 安装成功。
如果你需要在离线环境下使用 Rainbond 的源码构建功能,你需要额外下载离线源码构建的离线包,请阅读 Rainbond 离线环境下使用源码构建文档。
六、部署验证
6.1 访问 Rainbond 验证
-
使用
gatewayIngressIPs
配置的 IP 地址访问 Rainbond,例如:http://192.168.0.100:7070
。 -
填写 Rainbond 注册信息并登录 Rainbond。
-
查看集群信息。
6.2 快速部署测试应用
以 Nginx 为例,在工作空间 -> 容器,通过 Nginx 镜像部署个应用。如下:
最后
按照本指南操作,即使是非技术背景的管理者也能独立完成国产化容器平台的落地。接下来,通过 Rainbond 图形化界面,无需编写代码即可将企业应用轻松迁移至 Rainbond。
- 官网:https://www.rainbond.com
- Github:https://github.com/goodrain/rainbond
相关文章:

鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
Rainbond V6 国产化部署教程,针对鲲鹏 CPU 麒麟 V10 的离线环境,手把手教你从环境准备到应用上线,所有依赖包提前打包好,步骤写成傻瓜式操作指南。别说技术团队了,照着文档一步步来,让你领导来都能独立完成…...
历年厦门大学计算机保研上机真题
2025厦门大学计算机保研上机真题 2024厦门大学计算机保研上机真题 2023厦门大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 数字变换过程的最大值与步数 题目描述 输入一个数字 n n n,如果 n n n 是偶数就将该偶数除以 2 2 2&…...

【C++ Qt】认识Qt、Qt 项目搭建流程(图文并茂、通俗易懂)
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章将开启Qt的学习,Qt是一个较为古老但仍然在GUI图形化界面设计中有着举足轻重的地位,因为它适合嵌入式和多种平台而被广泛使用…...

IoT/HCIP实验-1/物联网开发平台实验Part2(HCIP-IoT实验手册版)
文章目录 概述产品和设备实例的产品和设备产品和设备的关联单个产品有多个设备为产品创建多个设备产品模型和物模型设备影子(远程代理) 新建产品模型定义编解码插件开发编解码插件工作原理消息类型与二进制码流添加消息(数据上报消息…...

Replacing iptables with eBPF in Kubernetes with Cilium
source: https://archive.fosdem.org/2020/schedule/event/replacing_iptables_with_ebpf/attachments/slides/3622/export/events/attachments/replacing_iptables_with_ebpf/slides/3622/Cilium_FOSDEM_2020.pdf 使用Cilium,结合eBPF、Envoy、Istio和Hubble等技术…...
推荐系统排序指标:MRR、MAP和NDCG
文章目录 MRR: Mean Reciprocal RankMAP: Mean Average PrecisionNDCG: Normalized Discounted Cumulative Gain3个度量标准来自于两个度量家族。第一种度量包括基于二进制相关性的度量。这些度量标准关心的是一个物品在二进制意义上是否是好的。第二个系列包含基于应用的度量。…...

数学建模之最短路径问题
1 问题的提出 这个是我们的所要写的题目,我们要用LINGO编程进行编写这个题目,那么就是需要进行思考这个怎么进行构建这个问题的模型 首先起点,中间点,终点我们要对这个进行设计 2 三个点的设计 起点的设计 起点就是我们进去&am…...

测试概念 和 bug
一 敏捷模型 在面对在开发项目时会遇到客户变更需求以及合并新的需求带来的高成本和时间 出现的敏捷模型 敏捷宣言 个人与交互重于过程与工具 强调有效的沟通 可用的软件重于完备的文档 强调轻文档重产出 客户协作重于合同谈判 主动及时了解当下的要求 相应变化…...

zynq 级联多个ssd方案设计(ECAM BUG修改)
本文讲解采用zynq7045芯片如何实现200T容量高速存储方案设计,对于大容量高速存储卡,首先会想到采用pcie switch级联方式,因为单张ssd的容量是有限制的(目前常见的m.2接口容量为4TB,U.2接口容量为16TB)&…...

brep2seq 论文笔记
Brep2Seq: a dataset and hierarchical deep learning network for reconstruction and generation of computer-aided design models | Journal of Computational Design and Engineering | Oxford Academic 这段文本描述了一个多头自注意力机制(MultiHead Attenti…...

【运维实战】Linux 中设置 sudo ,8个有用的 sudoers 配置!
在Linux及其他类Unix操作系统中,只有 root 用户能够执行所有命令并进行关键系统操作,例如安装更新软件包、删除程序、创建用户与用户组、修改重要系统配置文件等。 但担任 root 角色的系统管理员可通过配置sudo命令,允许普通系统用户执行特定…...
Ad Hoc
什么是 Ad Hoc? Ad hoc 一词源于拉丁语,意为“为此目的”或“为此特定原因”。一般来讲,它指的是为解决某一特定问题或任务(而非为了广泛重复应用)而设计的行动、解决方案或组合。在加密货币和区块链领域,…...

江科大SPI串行外设接口hal库实现
hal库相关函数 初始化结构体 typedef struct {uint32_t Mode; /*SPI模式*/uint32_t Direction; /*SPI方向*/uint32_t DataSize; /*数据大小*/uint32_t CLKPolarity; /*时钟默认极性控制CPOL*/uint32_t CLKPhase; /*…...

[网页五子棋][对战模块]前后端交互接口(建立连接、连接响应、落子请求/响应),客户端开发(实现棋盘/棋子绘制)
文章目录 约定前后端交互接口建立连接建立连接响应针对"落子"的请求和响应 客户端开发实现棋盘/棋子绘制部分逻辑解释 约定前后端交互接口 对战模块和匹配模块使用的是两套逻辑,使用不同的 websocket 的路径进行处理,做到更好的耦合 建立连接 …...

【ArcGIS Pro微课1000例】0071:将无人机照片生成航线、轨迹点、坐标高程、方位角
文章目录 一、照片预览二、生成轨迹点三、照片信息四、查看方位角五、轨迹点连成线一、照片预览 数据位于配套实验数据包中的0071.rar,解压之后如下: 二、生成轨迹点 地理标记照片转点 (数据管理),用于根据存储在地理标记照片文件(.jpg 或 .tif)元数据中的 x、y 和 z 坐…...

Ubuntu Zabbix 钉钉报警
文章目录 概要Zabbix警监控脚本技术细节配置zabbix告警 概要 提示:本教程用于Ubuntu ,zabbix7.0 Zabbix警监控脚本 提示:需要创建一个脚本 #检查是否有 python3 和版本 rootzabbix:~# python3 --version Python 3.12.3在/usr/lib/zabbix/…...

threejs顶点UV坐标、纹理贴图
1. 创建纹理贴图 通过纹理贴图加载器TextureLoader的load()方法加载一张图片可以返回一个纹理对象Texture,纹理对象Texture可以作为模型材质颜色贴图.map属性的值。 const geometry new THREE.PlaneGeometry(200, 100); //纹理贴图加载器TextureLoader const te…...

STM32 RTC实时时钟\BKP备份寄存器\时间戳
一、Unix时间戳 想要计算当地北京时间,需要根据经度和闰年之类的运算得到(c语言里面可以调用time.h的函数) 二、UTC/GMT(科普) 三、时间戳转化 C语言的time.h模块提供了时间获取和时间戳转换的相关函数,可以方便的进行秒计数器、…...
springcloud---gateway
目录标题 理解gateway代码示例filter与aop的联系ServerWebExchangeReactor 的 Context那是隐式传递Map吗Context和ThreadLocalSpring 的 AOP 是用的什么为什么过滤器要用异步非阻塞,而 AOP 用同步阻塞?理解gateway 代码示例 import io.netty.channel.Channel; import lombo…...

Axure设计案例——科技感立体柱状图
想让你的数据展示告别平淡无奇,成为吸引全场目光的焦点吗?快来瞧瞧这个Axure设计的科技感立体柱状图案例!科技感设计风格借助逼真的立体效果打破传统柱状图的平面感,营造出一种令人眼前一亮的视觉震撼。每一个柱状体都仿佛是真实存…...

app获取相册权限是否意味着所有相片都可随时读取?
针对安卓手机相册的隐私安全问题,我也比较好奇,App授予了相册权限,真的能自动读取用户的照片吗?最近做了一个小实验,我开发了2个小App,这2个App安装的时候只授予了相册权限,没有授予其他任何权限…...

2025年05月29日Github流行趋势
项目名称:agenticSeek 项目地址url:https://github.com/Fosowl/agenticSeek项目语言:Python历史star数:11898今日star数:2379项目维护者:Fosowl, steveh8758, klimentij, ganeshnikhil, apps/copilot-pull-…...

第十一节:第一部分:正则表达式:应用案例、爬取信息、搜索替换
正则表达式介绍 String提供的正则表达式的方法的书写规则 正则表达式总结 正则表达式作用: 作用三:搜索替换 案例分析及代码(图片解析) 代码: 代码一:校验手机号和邮箱格式是否正确 package com.itheima.…...
跟我学c++中级篇——动态库的资源处理
一、动态库的资源管理 动态库在编程中几乎是一个无法绕过的问题,不管是在哪个平台上都一样。在前面的文章中分析知道,编程的一个核心目标就是对计算机的资源进行管理和控制。动态库编程做为一个重要的技术,同样要面对资源的管理这个重要问题…...

新能源集群划分+电压调节!基于分布式能源集群划分的电压调节策略!
适用平台:MatlabYalmip Cplex (具体操作已在程序文件中说明) 参考文献:基于分布式能源集群化分的电压调节策略[D]. 一、文献解读 1. 主要内容/创新点 提出了一种基于分布式能源集群化的电压调节策略,计及分布式能源的有功、无功调节能力&a…...

端午安康 | 以匠心,致长远
端午节快乐 值此端午佳节,数图衷心感谢每一位合作伙伴与客户的信任相伴。 我们专注每一处细节,如粽米般紧密凝聚; 我们携手共进共赢,似龙舟竞渡般齐心协力。 未来,我们愿继续以创新为桨,与您共划时代新篇…...

漫画Android:事件分发的过程是怎样的?
当用户触摸屏幕时,硬件层会捕获触摸信号,并将其转化为内核事件。 Android系统会通过InputManagerService和WindowManagerService等服务将这些事件包装成MotionEvent对象,并将其传递给Activity的dispatchTouchEvent()方法中,Activi…...

2022 RoboCom 世界机器人开发者大赛-本科组(省赛)解题报告 | 珂学家
前言 题解 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)。 感觉T5是最简单的,其他都不好做。 RC-u5 树与二分图 分值: 30分 思路: 容斥原理 树天然就是二分图,按深度d归类(偶数深度为S1,奇数深度为S2)&#x…...
什么是MCP技术,跟http技术有什么区别
什么是MCP技术? MCP(Model Context Protocol,模型上下文协议)是一种开源协议,旨在标准化大型语言模型(LLM)与外部数据源和工具之间的集成方式。 核心功能 上下文管理:保存对话历史…...

如何用ChatGPT提升学术长文质量
目录 一、关于让人工智能充当评审专家 二、关于分批次输入论文内容 三、来看看提示词 大家好这里是学术Anan,官网👉AIWritePaper~ 论文完成初稿之后,一般情况下,宝子们还需要找专家给我们提出评审意见。找专家评审其实并不容易…...