Rainbond在v3.7.0版本中释出了大量平台稳定性更新,并在应用管理功能、安全性和系统安装三方面进行了部分优化。
作为IT基础系统平台,Rainbond从低耦合的架构设计
、高可用的部署方式
、自恢复与容错的设计
三方面评估和保障分布式系统可用性,以最终达到无人值守的效果。
在低耦合架构设计方面,Rainbond将分布式系统抽象为管理、计算、存储等三类节点,不同节点属性由不同服务组件构成,以解除服务间耦合关系,同时对于不同节点,可用性的最低要求也不尽相同 ——
为了更好地保证高可用的部署,Rainbond本身所有模块和组件均支持高可用 ——
在自恢复与容错的服务设计方面,为了消除用户在维护大型集群组件和服务时的手动工作,Rainbond同样将节点属性划分为管理节点、计算节点、存储节点,并做严格区分,使不同节点属性下运行不同服务列表。所有的服务采用Systemd进行进程守护,在保证进程健康的同时,每个节点Node组件对当前节点的所有服务,硬件,网络通信情况进行实时不间断检查和评估,以检查出每一个服务和节点的健康状态,并最终汇聚成数据中心整体健康状态,Rainbond用户在大多数情况下不需要关注每一个组件,只需要观察数据中心或节点的健康状况即可。
当服务出现异常情况时,区分不同的异常类别触发不同的动作,比如:“重启”、“报警”等,恢复服务的可用性。
另外,Rainbond提供的独立的节点检查和管理机制,对Kubernetes对计算节点的自动化维护进行了有力的补充,例如对于大型集群,某个节点出现网络无法分配,镜像无法获取等错误导致节点不健康时,平台自动下线该节点,禁止新应用调度到此节点,最大化的降低应用调度错误。
以上即Rainbond对于评估和保证系统可用性的三方面思考和设计,在功能点上的具体体现如下:
在稳定性方面,Rainbond下一步会增加 混沌工程方面的实践。
本次更新进一步完善了应用管理和交付体系。
首先,Rainbond为svn用户和.net core用户提供平台支持,内置了.Net Core 2.1版本的编译和运行环境,用户只需要提供标准的代码即可一键上云(.Net Core其他版本的用户可以采用定义Dockerfile方式)。
其次,Rainond进一步提供了API方式直接对接Jenkins CI\CD流程的支持,推荐用户在平台内直接部署Jenkins并通过API与平台进行对接。
另外,对于微服务架构产品标准化交付,Rainbond支持将应用、插件统一分享为一个综合的业务系统,并通过应用市场快捷交付。
具体更新清单如下——
通过简化调整安装步骤、分离资源获取与节点安装,本次更新后,Rainbond将统一支持在线安装和离线安装,解决了部分用户由于网络环境原因导致无法安装Rainbond的问题。
Rainbond是一款以应用为中心的开源PaaS,由好雨基于Docker、Kubernetes等容器技术自主研发,可作为公有云或私有云环境下的应用交付平台、DevOps平台、自动化运维平台和行业云平台,或作为企业级的混合云多云管理工具、Kubernetes容器管理工具或Service Mesh微服务架构治理工具。