Rainbond v3.7.0:实现企业级PaaS的稳定性

一笑奈何 提交于 2019-12-18 00:39:47

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Rainbond在v3.7.0版本中释出了大量平台稳定性更新,并在应用管理功能、安全性和系统安装三方面进行了部分优化。

作为IT基础系统平台,Rainbond从低耦合的架构设计高可用的部署方式自恢复与容错的设计三方面评估和保障分布式系统可用性,以最终达到无人值守的效果。

在低耦合架构设计方面,Rainbond将分布式系统抽象为管理、计算、存储等三类节点,不同节点属性由不同服务组件构成,以解除服务间耦合关系,同时对于不同节点,可用性的最低要求也不尽相同 ——

  • 管理节点:面向用户,提供应用构建、控制、调度、交付以及数据存储等系列管理功能,在异常情况下没有管理节点,已有应用依然能正常运行
  • 计算节点:负责实际运行应用并为应用运行提供环境保障,在异常情况下可以容忍降级,将应用调度到其他计算节点运行
  • 存储节点:用于存储应用持久化数据并提供数据访问服务,存储节点异常,无状态应用依然可以正常运行。

为了更好地保证高可用的部署,Rainbond本身所有模块和组件均支持高可用 ——

  • 管理节点:支持等幂部署多个节点以保证高可用
  • 计算节点:等幂部署多个计算节点以组建冗余资源池,从而容忍单节点资源限制或故障
  • 存储节点:采用冗余部署的方式形成存储资源池,对计算节点提供稳定服务,任何存储节点故障,业务不会中断,数据也不会丢失。

在自恢复与容错的服务设计方面,为了消除用户在维护大型集群组件和服务时的手动工作,Rainbond同样将节点属性划分为管理节点、计算节点、存储节点,并做严格区分,使不同节点属性下运行不同服务列表。所有的服务采用Systemd进行进程守护,在保证进程健康的同时,每个节点Node组件对当前节点的所有服务,硬件,网络通信情况进行实时不间断检查和评估,以检查出每一个服务和节点的健康状态,并最终汇聚成数据中心整体健康状态,Rainbond用户在大多数情况下不需要关注每一个组件,只需要观察数据中心或节点的健康状况即可。

当服务出现异常情况时,区分不同的异常类别触发不同的动作,比如:“重启”、“报警”等,恢复服务的可用性。

另外,Rainbond提供的独立的节点检查和管理机制,对Kubernetes对计算节点的自动化维护进行了有力的补充,例如对于大型集群,某个节点出现网络无法分配,镜像无法获取等错误导致节点不健康时,平台自动下线该节点,禁止新应用调度到此节点,最大化的降低应用调度错误。

以上即Rainbond对于评估和保证系统可用性的三方面思考和设计,在功能点上的具体体现如下:

  1. 所有平台服务使用Systemd进程级守护加Rainbond-Node业务级健康检查守护,保障服务健康运行

  2. 所有平台服务支持健康检查和Prometheus的监控指标暴露

  3. 管理节点支持上线和下线以隔离由于节点故障导致平台不可用

  4. 计算节点健康检查异常时支持自动隔离和恢复

  5. 支持配置自定义报警规则用于对节点物理监控,服务监控的报警

  6. 租户使用资源(内存、磁盘)的统计由单个节点完成(Rainbond-Worker Master节点故障时自动切换)

  7. 支持通过命令行工具便捷查询数据中心健康状态、所有节点健康状态。

在稳定性方面,Rainbond下一步会增加 混沌工程方面的实践。

其他更新

应用管理功能

本次更新进一步完善了应用管理和交付体系。

首先,Rainbond为svn用户和.net core用户提供平台支持,内置了.Net Core 2.1版本的编译和运行环境,用户只需要提供标准的代码即可一键上云(.Net Core其他版本的用户可以采用定义Dockerfile方式)。

其次,Rainond进一步提供了API方式直接对接Jenkins CI\CD流程的支持,推荐用户在平台内直接部署Jenkins并通过API与平台进行对接。

另外,对于微服务架构产品标准化交付,Rainbond支持将应用、插件统一分享为一个综合的业务系统,并通过应用市场快捷交付。

具体更新清单如下——

  1. 支持 .NetCore(2.1)语言一键构建应用,运行于Linux系统

  2. 支持对接SVN代码仓库持续构建应用

  3. 增加自动构建的入口,支持通过自定义API、Gitee-Webhook、Gogs-Webhook触发自动构建,更好的于第三方CI系统集成。

  4. 支持应用+插件完整交付应用市场,并从市场安装应用+插件完整业务系统,提供了业务+治理功能扩展绑定的完整软件交付模式

  5. Dockerfile构建支持ARG参数

  6. 支持基于Git仓库的代码Tag构建应用

  7. 支持应用创建后重新识别语言类型

安全性

  1. 数据中心出口API与控制台、命令行工具等客户端使用TLS双向安全认证
  2. 用户注册功能管理员可控制,用户加入团队需管理员审核

系统安装

通过简化调整安装步骤、分离资源获取与节点安装,本次更新后,Rainbond将统一支持在线安装和离线安装,解决了部分用户由于网络环境原因导致无法安装Rainbond的问题。

  1. 支持Centos7.4.1709、Ubuntu16.04、Debian9.5完全的离线安装
  2. 支持管理节点水平扩容

关于Rainbond

Rainbond是一款以应用为中心的开源PaaS,由好雨基于Docker、Kubernetes等容器技术自主研发,可作为公有云或私有云环境下的应用交付平台、DevOps平台、自动化运维平台和行业云平台,或作为企业级的混合云多云管理工具、Kubernetes容器管理工具或Service Mesh微服务架构治理工具。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!