5.1.7升级至5.1.8文档
2019年10月23日,Rainbond发布5.1.8版本,本次版本更新带来了应用网关对多IP的支持, 第三方组件对域名实例的支持 等新功能和修复若干BUG。
- Rainbond:支撑企业应用的开发、架构、交付和运维的全流程,通过“无侵入”架构无缝衔接各类企业应用,底层资源可以对接和管理IaaS、虚拟机和物理服务器。 Rainbond是什么?
- 发布版本:5.1.8
- 版本更新:推荐
- 更新范围:应用网关,第三方组件
应用网关支持多IP
应用网关是外部流量进入租户空间应用组件的唯一入口, 提供HTTP, HTTPs路由, TCP/UDP服务, 负载均衡器, 高级路由(A/B测试, 灰度发布)等功能。
在5.1.8以前, 所有的TCP/UDP类策略绑定的IP:PORT
都是0.0.0.0:port
, 这样一个端口只能给一个程序使用。且多个网关节点配置完全等价,我们服务器的端口是有限的(最大65535),因而带来了规则数量上限。 在当前版本中我们引入第二个变量IP地址,所有网关节点动态上报当前节点的可用IP地址供用户选择,从而带来了以下的功能:
- 内外网隔离: 网关节点一般处于内外网结合点,南向面对内网网络,北向面对外网网络。由不同的IP地址来呈现,选择不同的IP地址形成内外网隔离的特性。
- 定向网关: 部分用户场景中需要针对部分服务有独立的访问入口,比如特殊的租户或特殊的接入网络等。
- 跨团队通信: 默认情况下团队间服务不能直接通信,但其可以通过应用网关的中转通信。
- 虚拟IP的支持: 虚拟IP是变化的,可能在多个网关服务上迁移,支持定向绑定虚拟IP的端口是灵活的解决方案。
第三方组件支持域名实例
运行于Rainbond集群之外,运行生命周期不受Rainbond管理,且在网络上能够与Rainbond集群通信的组件称为第三方组件。例如单独运行的MySQL服务,或运行于Windows服务器的.net服务等。
在云计算的环境中, 各个云服务商都推出了许多云服务, 比如: 阿里云的云数据库 RDS MySQL 版
, 云数据库 Redis 版
, 云数据库 MongoDB 版
和 亚马逊的 Elasticsearch Service
. 这些云服务提供的公网连接地址都是域名
。
为了方便用户将实例地址为域名
的第三方组件加入到 Rainbond 中, 在此次迭代中, 第三方组件在只支持IP实例的基础上增加了域名实例
。Rainbond ServiceMesh层可以动态解析域名并加载通信地址,第三方组件健康检测器也增加了对域名的支持。
其他功能改进和BUG修复
- 应用支持带插件备份和恢复
- 规范产品抽象描述 #266
- 离线模式下优化云端应用市场页面的网络故障展示。
- 创建或更新应用时,有概率出现无法点击“查看日志” #214
- 多实例组件在线缩容,组件状态不停进入启动中 #460
- 自定义域名 一旦绑定,在网关策略选项中修改其配置时,会被认为 是违法域名,禁止修改 #461
- 应用共享其他服务存储设置后不生效 #456
- 5.1.7在创建应用时无法正确保存ARG参数 #453
- 使用svn从源码创建,平台识别路径错误 #444
- 对环境变量命名的检测问题 #391
- 环境变量删除失败,操作无响应 #434
- 通过源码创建应用时,使用https连接,仓库地址前加空格平台会判定为ssh连接 #224
- 组件日志打印无缩进 #217
- 应用发布到应用市场时添加的应用图标无法预览 #215
- .Netcore 语言源码构建,cmd 参数没有被传递导致运行异常 #447
安装
升级
升级要求和注意事项
V5.1.8版本支持从V5.1.2 - V5.1.7版本升级,如果你还未升级到V5.1.2版本,参考V5.1.x版本升级文档,先升级至V5.1.2版本:
grctl version
, 例如5.1.7版本显示如下:grctl version v5.1.7-release-afa0e36-2019-09-11-00
升级过程会重启管理服务,因此单管理节点的集群会短暂影响控制台操作和应用访问,请选择合理的升级时间段。
升级过程脚本需要从集群获取节点数据,请务必在集群正常工作情况下进行升级。
升级前请备份控制台和数据中心数据库。
升级过程的主要耗时点是解压升级包和导入服务镜像的过程,根据你的服务器写入速度而定。
如果你手动调整过
/opt/rainbond/conf
下的服务配置文件导致升级失败请到社区咨询。
下载 5.1.8 更新包
离线包镜像大小约1.3GB,需要保证当前集群磁盘可用空间至少不低于2G
# Rainbond 组件升级包
wget https://pkg.rainbond.com/offline/5.1/rainbond.images.2019-10-20-5.1.8.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.8.tgz
# 升级脚本包
wget https://pkg.rainbond.com/offline/5.1/rainbond-ansible.upgrade.5.1.8.tgz -O /grdata/services/offline/rainbond-ansible.upgrade.5.1.8.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.8.tgz -C /tmp/rainbond-ansible
cd /tmp/rainbond-ansible/scripts/upgrade/
bash ./upgrade.sh
平台升级完成验证
执行
grctl cluster
确定所有服务和节点运行正常执行
grctl version
命令 确认版本已升级到5.1.8执行
dps
命令查看以下组件运行使用的镜像版本是否为v5.1.8-release
组件 | 版本 |
---|---|
rbd-worker | v5.1.8-release |
rbd-api | v5.1.8-release |
rbd-app-ui | v5.1.8-release |
rbd-chaos | v5.1.8-release |
rbd-eventlog | v5.1.8-release |
rbd-gateway | v5.1.8-release |
rbd-monitor | v5.1.8-release |
rbd-webcli | v5.1.8-release |
rbd-mq | v5.1.8-release |
升级常见问题排查
- 升级后以上镜像版本没有变化
下面以rbd-api组件为例,升级后镜像版本停留在旧版本,手动更新单个组件
# 重新拉取rbd-api镜像
docker pull rainbond/rbd-api:v5.1.8-release
# 修改镜像tag
docker tag rainbond/rbd-api:v5.1.8-release goodrain.me/rbd-api:v5.1.8-release
# 找到rbd-api配置文件/opt/rainbond/conf/master.yaml
修改-i指定的rbd-api镜像信息为goodrain.me/rbd-api:v5.1.8-release
# 更新node节点上的服务
node service update
# 此时重新查看组件运行使用的镜像版本应为修改后的镜像版本,查看集群状态健康,到此完成手动更新
升级如有问题,请至社区反馈