Dict.CN 在线词典, 英语学习, 在线翻译 ------------- MyGitee My腾云code My51cto

Happy_EveryDay

可以平凡 不可以平庸 无爱则无忧,无欲则无求,无怒而无敌,无怨才是佛。所有烦恼,都是放不下的执著 开源技群 328035181 MyGitee

博客园 首页 新随笔 管理

1、宿主机

    192.168.91.164  root/*******

     内存8G,空间>20G

     主机名:harbor

 

2、安装rainbond

2.1 下载 ROI

curl -o roi https://get.rainbond.com/roi/roi-amd64 && chmod +x roi

2.2 查看 ROI 及默认 Rainbond 版本

image

 2.3 安装

 ./roi up -f cluster.yaml

image

 

 

 

2.4 cluster.yaml内容

image

 

osts:
- name: harbor # 节点名称,任意命名但需唯一,后续 roleGroups 中会引用
address: 192.168.91.164 # 节点公网 IP 地址,如无公网 IP 则填写内网 IP
internalAddress: 192.168.91.164 # 节点内网 IP 地址
user: root # SSH 用户,仅支持 root 用户
password: "root" # SSH 密码
port: 22 # SSH 端口,默认 22
bootstrap: true # 标记此节点为 bootstrap 节点(执行 roi up 的节点)必须为 master 节点之一,且只能
roleGroups:
etcd: # etcd 节点,数量必须为奇数(1、3、5)
- harbor
master: # Kubernetes 控制面节点
- harbor
worker: # 业务负载节点
- harbor
rbd-gateway: # Rainbond 网关节点,用于对外暴露服务
- harbor
rbd-chaos: # Rainbond 源码构建节点
- harbor
nfs-server: # 集群内 NFS Server 节点,只能指定一个
- harbor
storage:
# 由 ROI 配置 NFS Server 和自动安装 nfs-client-provisioner StorageClass,默认 SC 名称为 nfs-storage。
nfs:
enabled: true
sharePath: /nfs-data/k8s
storageClass:
enabled: true
roi:
enterpriseID: a300b4ed90d4441d84887b85419fbae3

 

 

 

 

3、访问http://192.168.91.164:7070/

image

 

 

 

4、rainbond服务停止及启动

.

image

####服务停止

 ./rainbond_stop.sh

 

image

 

 

 

####服务启动

 ./rainbond_startup.sh

注:###先停掉 Harbor及dify服务

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rainbond_stop.sh脚本内容

 

image

 

 

#!/usr/bin/env bash
# Rainbond 停止脚本:优雅停 rbd-db StatefulSet,避免数据库损坏;drain 节点驱逐业务 Pod
set -e

echo "==> 停掉 rbd-db StatefulSet(优雅停 MySQL,避免数据损坏)..."
kubectl scale statefulset -n rbd-system rbd-db --replicas=0

echo "==> 等待 10 秒让 MySQL 刷盘..."
sleep 10

echo "==> drain harbor 节点(cordon + 驱逐业务 Pod,保留 DaemonSet/静态 Pod)..."
kubectl drain harbor --ignore-daemonsets --delete-emptydir-data --force

echo "==> 当前节点状态:"
kubectl get node harbor

echo "==> 当前 Pod 状态:"
kubectl get pod -A

 

 

 

 

 

 

 

 

 rainbond_startup.sh脚本内容

###先停掉 Harbor及dify服务

 

image

 

#!/usr/bin/env bash
# Rainbond 启动脚本:宿主机重启后先停掉 Harbor/Dify 避免端口冲突,再恢复 rbd-db 并等待所有 Pod Running
set -e

# 定位脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

echo "==> [1/4] 先停掉 Harbor(避免开机自启抢占 80/443 端口)..."
bash "${SCRIPT_DIR}/harbor_stop.sh"

echo
echo "==> [2/4] 先停掉 Dify(避免开机自启抢占端口)..."
bash "${SCRIPT_DIR}/dify_stop.sh"

echo
echo "==> [3/4] 等待 RKE2 apiserver 可用(最多等 3 分钟)..."
for i in $(seq 1 36); do
if kubectl get --raw='/healthz' >/dev/null 2>&1; then
echo " apiserver 已就绪"
break
fi
echo " 等待 apiserver... ($i/36)"
sleep 5
done

echo "==> 等待节点 Ready..."
kubectl wait --for=condition=ready node --all --timeout=120s

echo "==> 解除 harbor 节点 SchedulingDisabled(恢复调度)..."
kubectl uncordon harbor

echo "==> 把 rbd-db StatefulSet 拉回 1 副本..."
kubectl scale statefulset -n rbd-system rbd-db --replicas=1

echo "==> 等待 rbd-system 下所有 Pod Ready(最长 5 分钟)..."
kubectl wait pod -n rbd-system --for=condition=ready --all --timeout=300s

echo
echo "==> [4/4] 当前 Pod 状态:"
kubectl get pod -n rbd-system

 

posted on 2026-10-07 16:14  2026cn  阅读(4)  评论(0)    收藏  举报