内容简介:· 特
Rainbond 是开源的 企业应用云操作系统 ,支撑企业应用的开发、架构、交付和运维的全流程,通过 无侵入架构 ,无缝衔接各类企业应用,底层资源可以对接和管理IaaS、虚拟机和物理服务器。
我们在5.0版本中进行了大量优化重构,同时也增加了多项重要的功能,使得Rainbond的社区兼容性和稳定性得到全面提升。
· 特 · 别 · 致 · 谢 ·
此前发布的Beta版本,经过几十家企业用户安装试用,并积极给予我们反馈和支持,使得Rainbond可以快速迭代,趋于成熟稳定。在此向关注和支持开源Rainbond的用户表示感谢。
· 全 · 新 · 功 · 能 ·
对接已有Kubernetes集群,并升级了内置的Kubernetes和 Docker 版本
基于过去版本在生产使用中积累的经验和问题,我们将Rainbond应用运行时进行了完全重构。此次重构升级了Kubernetes和Docker的版本,并引入了Kubernetes的Deployment、Secret、Ingress、ConfigMap等资源,同时可支持 对接已有Kubernetes集群 。在应用存储方面,运行时提供了分布式存储和本地存储的Provider, 在网络方面增加了对Flannel的支持,在服务调度方面增加了更多调度选择机制。服务日志方面,增加了计算节点日志收集器完成日志收集和与第三方日志系统对接。
本次重构将Rainbond服务抽象进行了改进,使得Rainbond抽象能够更好支持Kubernetes原生抽象模型,为5.1版本Rainbond支持Helm Chart源码创建应用奠定了基础。
新增应用网关
在之前的版本中我们支持基础的域名绑定和四层的访问支持,这些只解决了基础的访问需求,用户现在可以通过 应用网关 体验到大量开箱即用的访问控制功能。应用网关是以应用为核心抽象的关键环节,网关一词大家不会陌生,不管是传统的流量网关还是API网关,都是业务服务的外层屏障。Rainbond应用网关基于Openresty进行功能扩展,其核心功能是应用访问的 负载路由
和 安全控制
。5.0版本中的重点是在负载路由方面,当前版本我们设计了两类路由策略管理:
-
HTTP访问策略(L7)
HTTP协议作为目前最主要的业务服务协议。 支持以域名、请求路径、请求头、Cookies等多种条件的路由规则,同时支持基于权重对后端服务进行分流。可以满足用户对服务的访问控制需求,实现A/B测试和灰度发布。 -
TCP/UDP访问策略(L4)
TCP/UDP协议工作在四层,可以支持目前几乎所有服务,通过IP地址和端口进行服务路由。
Rainbond应用网关自动发现当前数据中心运行的所有服务端点,根据用户配置的访问策略透明化的工作。后续的版本中应用网关将持续升级,带来以下特性:
-
多种负载均衡算法
-
服务安全控制(插件式扩展业务安全控制)
-
多维度监控数据
-
支持gRPC等更多的L7应用级协议路由策略
升级源码构建,支持Gradle构建
Rainbond提供的源码构建功能在过去的版本中深得用户喜欢,从5.0版本开始,源码CI机制的相关功能更新优先级将被提高。当前版本中我们首先带来了对所有支持语言的Runtime版本的升级,具体升级版本见 源码支持文档 ,对于 Java 我们增加了 Gradle 编译方式的支持。
服务控制台中增加了构建源设置区域,提供了对各类支持语言的编译环境的相关设置,后续版本中将提供更丰富的设置项目方便用户灵活选择。
引入Windows应用的支持(Alpha)
Windows应用目前依然存在于大多数传统企业中,得益于微软对容器化的大力支持,Windows容器技术目前已经可以投入商用。Windows体系是完全独立的体系,从应用的编译、构建、调度、运行都是独立于 Linux 环境,因此对于Windows的支持工作量巨大。在5.0版本中我们完成了对Windows应用的自动化构建、调度、运行的支持。但从节点安装、应用源码构建方面还不完善,当前版本Windows应用的支持仅作为试用功能。
丰富大量文档
之前版本Rainbond在文档方面不足,我们也认识到文档对于开源项目的重要性。随着5.0版本的发布,我们对文档从结构上和内容上进行了整体的调整,在控制台使用、平台安装与运维、技术架构等多方面进行文档完善。
多达100多项的功能改进
当前版本除了上诉的功能变化以外,我们在集群(节点)管理、应用管理、应用控制台UI等方面进行了100多项改进。
· 功 · 能 · 列 · 表 ·
1. 新增应用网关
(1)移除了原rbd-entrance rbd-lb 两个组件,增加rbd-gateway组件
(2)支持HTTP、TCP服务访问策略管理
(3)HTTP策略支持基于域名、访问路径、请求头、Cookie访问路由控制
(4)支持配置HTTPs规则、HTTP转HTTPs规则
(5)支持泛域名规则
(6)支持SSL证书管理
(7)支持A/B测试、灰度发布控制
(8)TCP策略支持基于IP、端口访问控制
(9)自定义负载均衡策略,目前支持支持轮询算法,后续测试版本支持一致性Hash算法,Session粘连算法
(10)rbd-gateway支持集群部署,高可用与流量均摊,可工作于4层高性能软硬件负载均衡之后
2. 支持对接已有Kubernetes集群
(1)应用运行时完整重构,提供以应用为核心的控制器抽象
(2)无状态服务部署类型更改为Kubernetes Deployment资源
(3)有状态服务本地存储、共享存储提供更改为动态PV,运行时提供Provider
(4)应用状态维护由集中式更改为分布式,去除单点间歇性故障
(5)有状态服务、无状态服务皆提供自动化滚动升级策略
(6) 默认Kubernetes版本升级到1.10版本 Docker版本升级到17.06版本
(7) 支持社区版本Kubernetes集群对接
3. 源码构建更新版本,支持Gradle
Java
PHP
Python
NodeJS
Golang
.NetCore
各语言可选Runtime版本升级
(2)Java语言支持
Gradle
源码构建 ,支持War、Jar包部署
(3)Dockerfile支持多阶段构建
(4)支持离线环境下的源码持续构建(离线环境已具有必要的使用语言包仓库)
4. 简化应用操作,优化控制台体验
(1)明确定义 应用/服务 两级抽象
(2)应用Dashboard页面拓扑图应用状态实时刷新
(3)应用Dashboard页面增加快捷创建服务组件的流程
(4)应用Dashboard页面增加应用级启动、停止、升级控制
(5)增加应用网关完整的控制流程页面 (完成)
(6)服务组件支持(更新升级)操作
(7)服务组件支持源码构建配置
(8)应用安装支持先安装,配置后启动选择
5. Windows 支持 (5.0仅作为测试功能)
(1)node 组件支持windows节点部署,管理windows节点和平台服务
(2)rbd-chao 组件支持windows节点部署,构建windows应用
(3)服务构建调度支持区分windows和linux应用
(4)服务运行调度,存储支持Windows节点
(5)数据中心镜像仓库升级支持Windows镜像
6. 简化安装和维护
(1)系统安装策略由SaltStack更换为Ansible
(2)新加windowsutil组件支持传统程序或脚本部署为windows服务
(3)支持多配置文件配置节点服务
(4)支持Windows节点下服务守护和健康检查
(5)grctl多个命令升级改造
(6)内置支持安装flannel host-gateway网络
· 相 · 关 · 链 · 接 ·
写在最后,如果你也像其他人一样,渴望加入开源Rainbond项目,可以通过github、社区、社群、在线客服、手机、座机、微信、邮箱,甚至是面试加入好雨团队等形式,与我们一起共同维护开源Rainbond。笔芯:heart:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Rainbond 5.0 正式发布,支持对接管理已有 Kubernetes 集群
- laravel 对接支付宝
- 三方对接心路历程
- 开发对接过程中的教训
- 跨系统数据对接的相关机制
- 逻辑回归的算法推导及案例对接
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。