这期内容当中小编将会给大家带来有关Rainbond v3.7.0如何实现企业级PaaS的稳定性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
作为IT基础系统平台,Rainbond从低耦合的架构设计
、高可用的部署方式
、自恢复与容错的设计
三方面评估和保障分布式系统可用性,以最终达到无人值守的效果。
在低耦合架构设计方面,Rainbond将分布式系统抽象为管理、计算、存储等三类节点,不同节点属性由不同服务组件构成,以解除服务间耦合关系,同时对于不同节点,可用性的最低要求也不尽相同 ——
管理节点:面向用户,提供应用构建、控制、调度、交付以及数据存储等系列管理功能,在异常情况下没有管理节点,已有应用依然能正常运行
计算节点:负责实际运行应用并为应用运行提供环境保障,在异常情况下可以容忍降级,将应用调度到其他计算节点运行
存储节点:用于存储应用持久化数据并提供数据访问服务,存储节点异常,无状态应用依然可以正常运行。
为了更好地保证高可用的部署,Rainbond本身所有模块和组件均支持高可用 ——
在自恢复与容错的服务设计方面,为了消除用户在维护大型集群组件和服务时的手动工作,Rainbond同样将节点属性划分为管理节点、计算节点、存储节点,并做严格区分,使不同节点属性下运行不同服务列表。所有的服务采用Systemd进行进程守护,在保证进程健康的同时,每个节点Node组件对当前节点的所有服务,硬件,网络通信情况进行实时不间断检查和评估,以检查出每一个服务和节点的健康状态,并最终汇聚成数据中心整体健康状态,Rainbond用户在大多数情况下不需要关注每一个组件,只需要观察数据中心或节点的健康状况即可。
当服务出现异常情况时,区分不同的异常类别触发不同的动作,比如:“重启”、“报警”等,恢复服务的可用性。
另外,Rainbond提供的独立的节点检查和管理机制,对Kubernetes对计算节点的自动化维护进行了有力的补充,例如对于大型集群,某个节点出现网络无法分配,镜像无法获取等错误导致节点不健康时,平台自动下线该节点,禁止新应用调度到此节点,最大化的降低应用调度错误。
以上即Rainbond对于评估和保证系统可用性的三方面思考和设计,在功能点上的具体体现如下:
所有平台服务使用Systemd进程级守护加Rainbond-Node业务级健康检查守护,保障服务健康运行
所有平台服务支持健康检查和Prometheus的监控指标暴露
管理节点支持上线和下线以隔离由于节点故障导致平台不可用
计算节点健康检查异常时支持自动隔离和恢复
支持配置自定义报警规则用于对节点物理监控,服务监控的报警
租户使用资源(内存、磁盘)的统计由单个节点完成(Rainbond-Worker Master节点故障时自动切换)
支持通过命令行工具便捷查询数据中心健康状态、所有节点健康状态。
在稳定性方面,Rainbond下一步会增加 混沌工程方面的实践。
其他更新
应用管理功能
本次更新进一步完善了应用管理和交付体系。
首先,Rainbond为svn用户和.net core用户提供平台支持,内置了.Net Core 2.1版本的编译和运行环境,用户只需要提供标准的代码即可一键上云(.Net Core其他版本的用户可以采用定义Dockerfile方式)。
其次,Rainond进一步提供了API方式直接对接Jenkins CI\CD流程的支持,推荐用户在平台内直接部署Jenkins并通过API与平台进行对接。
另外,对于微服务架构产品标准化交付,Rainbond支持将应用、插件统一分享为一个综合的业务系统,并通过应用市场快捷交付。
具体更新清单如下——
支持 .NetCore(2.1)语言一键构建应用,运行于Linux系统
支持对接SVN代码仓库持续构建应用
增加自动构建的入口,支持通过自定义API、Gitee-Webhook、Gogs-Webhook触发自动构建,更好的于第三方CI系统集成。
支持应用+插件完整交付应用市场,并从市场安装应用+插件完整业务系统,提供了业务+治理功能扩展绑定的完整软件交付模式
Dockerfile构建支持ARG参数
支持基于Git仓库的代码Tag构建应用
支持应用创建后重新识别语言类型
安全性
数据中心出口API与控制台、命令行工具等客户端使用TLS双向安全认证
用户注册功能管理员可控制,用户加入团队需管理员审核
系统安装
通过简化调整安装步骤、分离资源获取与节点安装,本次更新后,Rainbond将统一支持在线安装和离线安装,解决了部分用户由于网络环境原因导致无法安装Rainbond的问题。
支持Centos7.4.1709、Ubuntu16.04、Debian9.5完全的离线安装
支持管理节点水平扩容
关于Rainbond
Rainbond是一款以应用为中心的开源PaaS,由好雨基于Docker、Kubernetes等容器技术自主研发,可作为公有云或私有云环境下的应用交付平台、DevOps平台、自动化运维平台和行业云平台,或作为企业级的混合云多云管理工具、Kubernetes容器管理工具或Service Mesh微服务架构治理工具。
上述就是小编为大家分享的Rainbond v3.7.0如何实现企业级PaaS的稳定性了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注天达云行业资讯频道。