5.1.10升级至5.1.11文档
安装
升级
升级要求和注意事项
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-worker | v5.1.11-release |
rbd-api | v5.1.11-release |
rbd-app-ui | v5.1.11-release |
rbd-chaos | v5.1.11-release |
rbd-eventlog | v5.1.11-release |
rbd-gateway | v5.1.11-release |
rbd-monitor | v5.1.11-release |
rbd-webcli | v5.1.11-release |
rbd-mq | v5.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-server | v0.3.6 |
mysqld-exporter | latest |
kube-state-metrics | latest |
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
升级如有问题,请至社区反馈