鲲鹏Arm+麒麟V10 K8s 离线部署教程 - 教程
针对鲲鹏 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.tarwget https://pkg.rainbond.com/rke2/v1.30.4+rke2r1/rke2.linux-arm64.tar.gzwget https://pkg.rainbond.com/rke2/v1.30.4+rke2r1/sha256sum-arm64.txtwget 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/bash IMAGE_DOMAIN=registry.cn-hangzhou.aliyuncs.comIMAGE_NAMESPACE=goodrainVERSION=v6.3.0-release image_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}; do docker pull "${image}"done docker 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 <
- 配置私有镜像仓库,
goodrain.me是 Rainbond 默认安装的私有镜像仓库域名。
cat >/etc/rancher/rke2/registries.yaml <
4.2 安装 RKE2(K8s 集群)#
- 将 RKE2 离线镜像包放到指定目录,启动时它会自动加载离线镜像包。
mkdir -p /var/lib/rancher/rke2/agent/imagescp /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-rke2cd /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/.kubecp /etc/rancher/rke2/rke2.yaml /root/.kube/configcp /var/lib/rancher/rke2/bin/kubectl /usr/local/bin
- 验证 K8s 集群状态。
kubectl get nodekubectl get pod -n kube-system
五、离线部署 Rainbond V6#
5.1 配置 Rainbond 安装参数#
- 创建 Helm
values.yaml 配置文件。
cat >values.yaml <
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 状态时即安装成功。如下所示,Pod rbd-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 镜像部署个应用。如下:






浙公网安备 33010602011771号