Rainbond文档中心
5.1.8升级至5.1.9文档 编辑此页面

新增功能

  • 当前版本新增基于内存、CPU两个资源使用监控指标的组件实例水平伸缩功能。 参考文档

  • 代码仓库互联(OAuth2.0互联) 参考文档

  • 新增Kubernetes集群监控服务平台Mysql数据库监控服务

  • 支持租户删除和资源清

  • 新增管理节点磁盘自动清理功能

  • 新增已删除组件所占资源自动清理功能

  • 应用网关支持VIP漂移后,关联策略自动漂移功能

  • 应用网关管理支持HTTPS证书更新后自动生效 #527

  • 云端备份存储类型支持阿里对象存储和兼容S3的其他对象存储#545

  • 组件互相依赖时支持启动顺序控制 #499

  • 平台默认数据库切换到Mysql5.7版本,并对8.0版本作兼容测试

  • 新增节点Condition更新机制,grctl命令行和管理后台体现Condition更新状态,便于用户发现节点健康检测故障

  • 节点处于UNKNOW的节点自动下线该节点注册的系统服务保证高可用性

解决问题清单

安装

> 参考Rainbond安装文档指南

升级

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

使用grctl version命令查看当前版本, 例如5.1.8版本显示如下:grctl version v5.1.8-release-cd0b488-2019-10-22-10

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

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

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

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

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

  • 当前版本加入了管理节点磁盘自动清理功能,若磁盘不足可能造成升级失败,因此升级脚本初始化会检查磁盘余量是否充足。

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

升级前检查

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

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

db_port: 数据库端口
db_host: 数据库主机IP
db_user: 数据库用户 
db_pass: 数据库密码
下载 5.1.9 更新包

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

# Rainbond 组件升级包
wget https://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/offline/5.1/rainbond.images.2019-12-12-5.1.9.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.9.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.9.tgz

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

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

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

组件 版本
rbd-worker v5.1.9-release
rbd-api v5.1.9-release
rbd-app-ui v5.1.9-release
rbd-chaos v5.1.9-release
rbd-eventlog v5.1.9-release
rbd-gateway v5.1.9-release
rbd-monitor v5.1.9-release
rbd-webcli v5.1.9-release
rbd-mq v5.1.9-release
  • 进入数据库,查看数据是否更新至5.1.9
# 查询版本
docker exec rbd-db mysql -e "select \`key\`,\`value\` from console.console_sys_config;" | grep RAINBOND_VERSION
RAINBOND_VERSION	5.1.9

若未更新,手动在console库中插入版本升级sql

  • 本次版本更新添加了三个组件,更新完毕请查看是否正常启动

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

组件 版本
metrics-server v0.3.6
mysqld-exporter latest
kube-state-metrics latest

升级常见问题排查

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

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

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

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

本次升级添加了数据库监控组件,这个组件需要从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

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