当前位置: 首页 > article >正文

鲲鹏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.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 参数#

  1. 创建 RKE2 配置文件目录。
mkdir -p /etc/rancher/rke2/config.yaml.d
  1. 配置 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
  1. 配置私有镜像仓库,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 集群)#

  1. 将 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
  1. 准备安装目录。
mkdir /root/artifacts-rke2
  1. 将 rke2、rke2-images、sha256sum 移动到一个目录中,如下所示:
mv install.sh rke2* sha256sum* /root/artifacts-rke2
cd /root/artifacts-rke2
  1. 执行安装命令。
INSTALL_RKE2_ARTIFACT_PATH=/root/artifacts-rke2 sh install.sh
  1. 启动 RKE2 服务。
systemctl enable rke2-server.service && systemctl start --no-block rke2-server.service
  1. 查看启动日志,大概需要 5-10 分钟才能完全启动。
journalctl -fu rke2-server

4.3 配置 Kubectl(K8s 命令行工具)#

  1. 配置 Kubectl 访问。
mkdir /root/.kube
cp /etc/rancher/rke2/rke2.yaml /root/.kube/config
cp /var/lib/rancher/rke2/bin/kubectl /usr/local/bin
  1. 验证 K8s 集群状态。
kubectl get node
kubectl get pod -n kube-system

五、离线部署 Rainbond V6#

5.1 配置 Rainbond 安装参数#

  1. 创建 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#

  1. 执行命令离线安装 Rainbond。
helm install rainbond ./rainbond-chart --create-namespace -n rbd-system -f values.yaml
  1. 执行完安装命令后,在集群中执行以下命令查看安装状态。
watch kubectl get pod -n rbd-system
  1. 当名称包含 rbd-app-ui 的 Pod 为 Running 状态时即安装成功。如下所示,Pod rbd-app-ui-678979c995-94kzb 为 Running 状态时,表示 Rainbond 安装成功。

如果你需要在离线环境下使用 Rainbond 的源码构建功能,你需要额外下载离线源码构建的离线包,请阅读 Rainbond 离线环境下使用源码构建文档。

六、部署验证#

6.1 访问 Rainbond 验证#

  1. 使用 gatewayIngressIPs 配置的 IP 地址访问 Rainbond,例如: http://192.168.0.100:7070

  2. 填写 Rainbond 注册信息并登录 Rainbond。

  3. 查看集群信息。

6.2 快速部署测试应用#

以 Nginx 为例,在工作空间 -> 容器,通过 Nginx 镜像部署个应用。如下:

http://www.lryc.cn/news/2394492.html

相关文章:

  • PGSQL结合linux cron定期执行vacuum_full_analyze命令
  • php 中使用MQTT
  • C#定时器深度对比:System.Timers.Timer vs System.Threading.Timer性能实测与选型指南
  • go的select多路复用
  • 深度理解与剖析:前端声明式组件系统
  • 解决8080端口被占问题
  • 介绍一种LDPC码译码器
  • 3DMAX+Photoshop教程:将树木和人物添加到户外建筑场景中的方法
  • 【IOS】【OC】【应用内打印功能的实现】如何在APP内实现打印功能,连接本地打印机,把想要打印的界面打印成图片
  • 随记 配置服务器的ssl整个过程
  • 数据库高可用架构设计:集群、负载均衡与故障转移实践
  • Correlations氛围测试:文本或图像的相似度热图
  • 从0到1:多医院陪诊小程序开发笔记(上)
  • 建立连接后 TCP 请求卡住
  • 尚硅谷redis7 99 springboot整合redis之连接集群
  • hive 笔记
  • 无线通信模块简介
  • Go语言之空接口与类型断言
  • 把 CURSOR 的工具活动栏改成和 VSCODE 一样的左侧展示
  • 碰一碰系统源码搭建==saas系统
  • 不加载PHP OpenTelemetry SDK实现Trace‌与Logs
  • Three.js搭建小米SU7三维汽车实战(6)颜色切换
  • mysql慢sql的实际处理方案之一
  • GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【六】
  • c/c++的opencv车牌识别
  • 4.2.3 Spark SQL 手动指定数据源
  • 【论文解读】CVPR2023 PoseFormerV2:3D人体姿态估计(附论文地址)
  • WPF的交互核心:命令系统(ICommand)
  • Maven工程演示
  • uniapp分包配置,uniapp设置subPackages