以下是 完整卸载 Rainbond 的详细步骤指南,涵盖多种安装场景和常见问题解决方案:


一、核心原则

优先级 操作类型 适用场景 风险提示
最高 官方工具卸载 能正常访问 rbd 命令的环境 最安全、最彻底的卸载方式
 | **手动卸载**    | 无法使用 `rbd` 命令/安装异常     | 需谨慎操作,易遗漏文件  || **重置配置**    | 仅想清空数据而非完全卸载          | 保留程序但丢失历史数据  |

二、分步操作指南 推荐方式:通过 rbd 命令自动卸载(适用于完整安装)

# 切换至 root 用户(如有权限限制)
sudo -i# 执行全盘卸载(--all 表示清除所有组件)
rbd uninstall --all

效果说明

  • ✅ 停止所有 Rainbond 服务(ETCD/API/WebUI 等)
  • ✅ 删除配置文件(/etc/rainbond)、数据目录(/var/lib/rainbond
  • ✅ 移除 systemd 服务单元(rbd-node, rbd-api 等)
  • ✅ 清理启动日志和临时文件

注意:若提示 rbd: command not found,说明环境变量未加载,尝试 source /etc/profile 后重试,或直接跳转至 B 部分。


B. 🛑 手动卸载(适用于异常安装/自定义路径)

1. 停止所有相关进程
# 查找 Rainbond 相关进程
ps aux | grep -E 'rainbond|rbd' | grep -v grep# 终止进程(替换 PID 为实际进程号)
kill -9 <PID>
2. 删除核心文件与目录
路径 说明 命令示例
/opt/rainbond 主程序目录 sudo rm -rf /opt/rainbond
/etc/rainbond 配置文件 sudo rm -rf /etc/rainbond
/var/lib/rainbond 数据存储 sudo rm -rf /var/lib/rainbond
/usr/local/bin/rbd 命令行工具 sudo rm /usr/local/bin/rbd
/etc/systemd/system/ Systemd 服务文件 sudo rm /etc/systemd/system/rbd*.service
3. 刷新 Systemd 配置
# 重新加载 systemd 配置
sudo systemctl daemon-reload# 禁用并停止残留服务(若有)
sudo systemctl disable rbd-node || true
sudo systemctl stop rbd-node || true

C. 📦 容器化部署的特殊处理(Docker/Podman)

# 停止并删除所有 Rainbond 容器
docker ps -a | grep rainbond | awk '{print $1}' | xargs -r docker rm -f# 删除镜像标签(可选)
docker images | grep rainbond | awk '{print $1":"$2}' | xargs -r docker rmi

D. 🌐 多节点集群环境处理

若您搭建的是 Kubernetes/K3s 集群分布式架构

  1. 在所有工作节点上执行
    rbd uninstall --node $(hostname)  # 替换为当前节点名
    
  2. 从控制台移除节点角色:登录 Rainbond Web 控制台 → 节点管理 → 删除对应节点。

🔍 三、验证卸载结果

检查项 命令示例 预期结果
进程状态 ps aux | grep -E 'rainbond|rbd' 无输出
Systemd 服务列表 systemctl list-unit-files | grep rbd .service 文件
端口占用 netstat -tulnp | grep 7070 无输出
文件系统残留 ls /opt/rainbond && ls /etc/rainbond 目录不存在
浏览器访问测试 访问 http://<IP>:7070 "Connection refused"

⚠️ 四、常见问题解决

现象 原因与解决方案
rbd: command not found ✔️ 尝试 source /etc/profile<br>✔️ 直接跳转至手动卸载步骤
"Permission denied" 错误 ✔️ 使用 sudo 执行命令<br>✔️ 检查文件所有权(chown root:root /opt/rainbond
仍有后台进程存活 ✔️ 使用 pkill -9 -f rainbond 强制终止
数据目录无法删除(忙/只读) ✔️ 重启进入单用户模式:sudo reboot && init 1<br>✔️ 然后执行 rm -rf
卸载后网页仍可访问 ✔️ 检查反向代理配置(Nginx/Traefik)<br>✔️ 清除浏览器缓存

🔄 五、替代方案:轻量重置(保留程序)

若仅需清空配置而非完全卸载:

rbd reset --all  # 保留程序但重置数据库和配置

适用于调试或快速重新开始的场景。


📝 六、最终建议

你的情况 推荐操作
✅ 能正常运行 rbd 命令 执行 rbd uninstall --all
rbd 不可用/安装异常 按「手动卸载」步骤操作
🌐 容器化部署 删除容器+镜像+持久化卷
🔄 多节点集群 逐节点卸载 +
🔒 不确定安装方式 优先尝试 rbd uninstall --all,失败则手动卸载

警告

  • 数据丢失风险:手动删除 /var/lib/rainbond 会导致所有应用数据丢失,务必提前备份!
  • 依赖关系:若通过包管理器(如 apt/yum)安装,请勿直接删除文件,应使用 apt remove rainbond 等命令。
  • 生产环境:建议在维护窗口期操作,避免影响业务连续性。

如仍无法解决,请提供以下信息以便进一步诊断:

  • rbd version 输出(若可用)
  • docker ps(若是容器化部署)
  • 完整的服务日志片段(脱敏后)