Skip to main content
Version: v5.1

5.1.9升级至5.1.10文档

版本说明

  • 重构Oauth支持模块使其扩展更容易 goodrain/rainbond-console#379
  • 新增对钉钉、阿里云Oauth登录的支持 #goodrain/rainbond#373 感谢 lxm的贡献
  • 改进第三方组件的健康检测控制器,修复第三方组件异常下线问题 #580 #590
  • 第三方组件支持不同端口号的Endpoints列表。
  • 修复组件具有多个端口号时ServiceMesh框架监听不完整的问题。
  • 隐藏应用网关内置Openresty版本号,增加默认访问页面 #612
  • 修复组件伸缩记录的时间显示错误问题 #625
  • 修复拓扑图不体现自动伸缩后组件实例数量超过1的情形 #588
  • 修复插件导致CPU资源不合理分配从而耗尽CPU时内存剩余较大的问题 #602
  • 被依赖服务有多个端口开启对内服务的情况下,下游服务保持等待启动状态#606

安装

> 参考Rainbond安装文档指南

升级

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

    使用grctl version命令查看当前版本, 例如5.1.9版本显示如下:grctl version v5.1.9-release-ac6e5fc-2019-12-27-01

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

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

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

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

  • 如果你手动调整过/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.10 更新包
# Rainbond 组件升级包
wget https://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/offline/5.1/rainbond.images.2020-01-07-5.1.10.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.10.tgz

# 升级脚本包
wget https://pkg.rainbond.com/offline/5.1/rainbond-ansible.upgrade.5.1.10.tgz -O /grdata/services/offline/rainbond-ansible.upgrade.5.1.10.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.10.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.10.tgz -C /tmp/rainbond-ansible
cd /tmp/rainbond-ansible/scripts/upgrade/
bash ./upgrade.sh
平台升级完成验证
  • 执行 grctl cluster确定所有服务和节点运行正常

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

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

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

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

组件版本
metrics-serverv0.3.6
mysqld-exporterlatest
kube-state-metricslatest

升级常见问题排查

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

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

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

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