Skip to main content
Version: v5.1

5.1.10升级至5.1.11文档

安装

参考Rainbond安装文档指南

升级

升级要求和注意事项
  • V5.1.11版本支持从V5.1.2 - V5.1.10版本升级,如果你还未升级到V5.1.2版本,参考V5.1.x版本升级文档,先升级至V5.1.2版本:

    使用grctl version命令查看当前版本, 例如5.1.10版本显示如下:grctl version v5.1.10-release-862c0ed-2020-02-19-10

  • 升级过程会重启管理服务,因此单管理节点的集群会短暂影响控制台操作和应用访问,请选择合理的升级时间段。

  • 升级过程脚本需要从集群获取节点数据,请务必在集群正常工作情况下进行升级。

  • 升级前请备份控制台和数据中心数据库。

  • 升级过程的主要耗时点是解压升级包和导入服务镜像的过程,根据你的服务器写入速度而定。

  • 如果你手动调整过/opt/rainbond/conf下的服务配置文件导致升级失败请到社区咨询

  • 升级脚本初始化会检查磁盘余量是否充足,如果磁盘空间不足请参考文档清理磁盘空间。

  • 5.1.9版本起增加了自动清理镜像功能,当/var/lib/docker目录使用空间大于80%时会触发自动清理镜像操作,将会导致升级失败,所以升级操作前务必保证磁盘空间足够,可用空间至少不低于6GB

  • 自5.1.9版本起管理节点新增3个系统组件,分别是服务于自动伸缩功能组件、Kubernetes监控组件、Mysql数据库监控组件。

如果您的升级前版本为5.1.9(不含5.1.9)以前版本请在升级前检查以下内容

ansible变量文件中若不存在以下数据库连接信息则手动添加以下几项,否则会导致升级失败!请确保数据库连接信息正确!

vi /opt/rainbond/rainbond-ansible/roles/rainvar/defaults/main.yml

db_port: 数据库端口
db_host: 数据库主机IP
db_user: 数据库用户
db_pass: 数据库密码
下载 5.1.11 更新包
# Rainbond 组件升级包
wget https://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/offline/5.1/rainbond.images.2020-03-11-5.1.11.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.11.tgz

# 升级脚本包
wget https://pkg.rainbond.com/offline/5.1/rainbond-ansible.upgrade.5.1.11.tgz -O /grdata/services/offline/rainbond-ansible.upgrade.5.1.11.tgz

# 新增加组件镜像包
wget https://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/offline/5.1/new.images.upgrade.5.1.9.tgz -O /grdata/services/offline/base.images.upgrade.5.1.11.tgz
第一个管理节点执行下述命令升级平台

再次提醒,升级前系统必须运行正常,升级过程耗时取决于系统磁盘写入速度,脚本未成功之前请勿主动终止升级。

rm -rf  /tmp/rainbond-ansible
rm -rf /grdata/services/offline/upgrade
mkdir -p /tmp/rainbond-ansible
tar xf /grdata/services/offline/rainbond-ansible.upgrade.5.1.11.tgz -C /tmp/rainbond-ansible
cd /tmp/rainbond-ansible/scripts/upgrade/
bash ./upgrade.sh
平台升级完成验证
  • 执行 grctl cluster确定所有服务和节点运行正常

  • 执行grctl version命令 确认版本已升级到5.1.11

  • 执行dps命令查看以下组件运行使用的镜像版本是否为v5.1.11--release

组件版本
rbd-workerv5.1.11-release
rbd-apiv5.1.11-release
rbd-app-uiv5.1.11-release
rbd-chaosv5.1.11-release
rbd-eventlogv5.1.11-release
rbd-gatewayv5.1.11-release
rbd-monitorv5.1.11-release
rbd-webcliv5.1.11-release
rbd-mqv5.1.11-release
  • 进入数据库,查看数据是否更新至5.1.11
# 查询版本
docker exec rbd-db mysql -e "select \`key\`,\`value\` from console.console_sys_config;" | grep RAINBOND_VERSION
RAINBOND_VERSION 5.1.11
  • 5.1.9版本更新添加了三个组件(如果您的升级前版本为5.1.9及后续版本则忽略此条内容),更新完毕请查看是否正常启动
组件版本
metrics-serverv0.3.6
mysqld-exporterlatest
kube-state-metricslatest

mysqld-exporter组件用来监控数据库信息,如在之前做过rbd-db数据迁移,需更改为迁移后的数据库连接信息cat /opt/rainbond/conf/external_monitor.yaml|grep DATA_SOURCE_NAME,修改完成之后执行node service update以执行更新。

升级常见问题排查

  • 升级后以上镜像版本没有变化

下面以rbd-api组件为例,升级后镜像版本停留在旧版本,手动更新单个组件

# 重新拉取rbd-api镜像
docker pull rainbond/rbd-api:v5.1.11-release
# 修改镜像tag
docker tag rainbond/rbd-api:v5.1.11-release goodrain.me/rbd-api:v5.1.11-release
# 找到rbd-api配置文件/opt/rainbond/conf/master.yaml
修改-i指定的rbd-api镜像信息为goodrain.me/rbd-api:v5.1.11-release

# 更新node节点上的服务
node service update
# 此时重新查看组件运行使用的镜像版本应为修改后的镜像版本,查看集群状态健康,到此完成手动更新
  • 升级过程中提示未找到db_host变量

5.1.9版本升级添加了数据库监控组件,这个组件需要从ansible变量文件获取数据库连接信息,如果获取不到,则会出现此类报错

解决方案为在此文件中添加数据库连接信息

vi /opt/rainbond/rainbond-ansible/roles/rainvar/defaults/main.yml

db_port: 数据库端口
db_host: 数据库主机IP
# 重新执行ansible脚本
ansible-playbook -i /opt/rainbond/rainbond-ansible/inventory/hosts /opt/rainbond/rainbond-ansible/upgrade.yml

升级如有问题,请至社区反馈