Rainbond 5.1.8发布,应用网关支持多IP网络接入

Rainbond 5.1.8发布,应用网关支持多IP网络接入

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

安装

> 参考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  
平台升级完成验证
  • 执行 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
# 此时重新查看组件运行使用的镜像版本应为修改后的镜像版本,查看集群状态健康,到此完成手动更新

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