2019年9月08日,Rainbond发布5.1.7版本,本次版本更新带来了全新的服务以及实例的状态控制和UI可视化,服务运行后台事件实时反馈,使开发者更容易掌握服务运行状态。
Rainbond的关键特点是一键完成从代码获取到构建打包,滚动上线的完整周期,这样的体验追求是好的,然而代码的构建过程受限于代码是否规范或者错误的代码而不能正常完成,滚动上线过程依然会取决于服务构建版本是否能够正常工作,集群状态是否正常等等不确定因素,在过去的版本中用户对这一段过程的执行只能关注一个最终状态而无法方便地看到细节信息,如何在众多的不确定中提供一个确定的流程形成良好的“人机”互补是一个难题。为了解决这个问题又不能给我们用户带来过多的复杂性,我们依然坚持从源码或镜像开始的一键部署流程,但在流程进行中时在UI中区分三个阶段的可视化体验:
服务的每一项属性修改和操作对于服务的生命周期都直观重要,同时也是清晰的责任体现,本次版本更新我们对服务的操作事件记录架构进行了修改,从过去由控制台记录事件统一调整到数据中心进行全量事件记录,这里的全量包括各类属性修改、生命周末操作和服务运行态时的系统维护操作和记录。遗憾的是本次版本周期有限,事件的记录暂未扩展到应用级和租户级,当然这是我们社区计划之一。未来的版本中我们将加快此功能的GA进程,完整记录所有资源的操作记录,对于用户实现细节的权限控制和审计是有益的。
查询服务日志是用户在排查运行服务是否正常工作的关键途径,我们依然坚持服务日志以服务为单位实时推送用户查看的效果体验,不同的是本次版本中我们重构了日志推送的WebSocket实现,尽可能保证日志可以准确,及时的推送到前台UI,同时日志存储层持久化落盘也更加及时(为了减少管理节点IO占有,日志落盘采用延时、批量落盘机制,最大延迟1分钟)。在前端UI方面尽可能复原日志样式,比如保留颜色和格式等,用户使用起来类似于在系统终端的日志查询。
grctl version
, 例如5.1.6版本显示如下:Rainbondgrctl v5.1.6-release-e98f87c-2019-08-12-01
/opt/rainbond/conf
下的服务配置文件导致升级失败请到社区咨询。离线包镜像大小约1.3GB,需要保证当前集群磁盘可用空间至少不低于2G
# Rainbond 组件升级包
wget https://pkg.rainbond.com/offline/5.1/rainbond.images.2019-09-03-5.1.7.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.7.tgz
# 升级脚本包
wget https://pkg.rainbond.com/offline/5.1/rainbond-ansible.upgrade.5.1.7.tgz -O /grdata/services/offline/rainbond-ansible.upgrade.5.1.7.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.7.tgz -C /tmp/rainbond-ansible
cd /tmp/rainbond-ansible/scripts/upgrade/
bash ./upgrade.sh
grctl cluster
确定所有服务和节点运行正常本次版本更新了性能分析插件,请在平台完成升级后按照如下方式升级插件:
升级脚本已自动更新插件镜像 goodrain.me/tcm
参考资料:
[1]. 文章来源:Rainbond文档
[2]. 使用反馈:Rainbond社区
[3]. Bug反馈:Github-issues