2019年10月23日,Rainbond发布5.1.8版本,本次版本更新带来了应用网关对多IP的支持, 第三方组件对域名实例的支持 等新功能和修复若干BUG。
应用网关支持多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
安装
> 参考Rainbond安装文档指南
升级
升级要求和注意事项
-
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
# 重新拉取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
# 此时重新查看组件运行使用的镜像版本应为修改后的镜像版本,查看集群状态健康,到此完成手动更新
升级如有问题,请至社区反馈
下面以rbd-api组件为例,升级后镜像版本停留在旧版本,手动更新单个组件
升级常见问题排查
组件 |
版本 |
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 |
-
执行 grctl cluster 确定所有服务和节点运行正常
-
执行grctl version 命令 确认版本已升级到5.1.8
-
执行dps 命令查看以下组件运行使用的镜像版本是否为v5.1.8-release
平台升级完成验证
再次提醒,升级前系统比较运行正常,升级过程耗时取决于你的系统磁盘写入速度,脚本未成功之前请勿主动终止升级。
第一个管理节点执行下述命令升级平台
|