5.1.8升级至5.1.9文档
新增功能
当前版本新增基于内存、CPU两个资源使用监控指标的组件实例水平伸缩功能。 参考文档
代码仓库互联(OAuth2.0互联) 参考文档
支持租户删除和资源清
新增管理节点磁盘自动清理功能
新增已删除组件所占资源自动清理功能
应用网关支持VIP漂移后,关联策略自动漂移功能
应用网关管理支持HTTPS证书更新后自动生效 #527
云端备份存储类型支持阿里对象存储和兼容S3的其他对象存储#545
组件互相依赖时支持启动顺序控制 #499
平台默认数据库切换到Mysql5.7版本,并对8.0版本作兼容测试
新增节点Condition更新机制,grctl命令行和管理后台体现Condition更新状态,便于用户发现节点健康检测故障
节点处于UNKNOW的节点自动下线该节点注册的系统服务保证高可用性
解决问题清单
安装
升级
升级要求和注意事项
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
升级如有问题,请至社区反馈