Rainbond 5.0正式发布, 支持对接管理已有Kubernetes集群

37次阅读

共计 3305 个字符,预计需要花费 9 分钟才能阅读完成。

Rainbond 5.0 正式发布, 支持对接管理已有 Kubernetes 集群
​ 今天非常高兴向大家宣布 Rainbond v5.0 正式发布,Rainbond 是开源的企业应用云操作系统,支撑企业应用开发、架构、交付和运维的全流程,通过无侵入架构,无缝衔接各类企业应用,底层资源可以对接和管理 IaaS、虚拟机和物理服务器。
​ 此前发布的 Beta 版本经过几十个企业用户安装试用,非常感谢社区用户反馈的每个问题。我们在 5.0 版本中进行了大量优化重构,同时也增加了多项重要功能,使得 Rainbond 的社区兼容性和稳定性得到全面提升。下面来介绍一下新版本重点功能:
对接已有 Kubernetes 集群,并升级了内置 Kubernetes 和 Docker 版本
​ 基于过去版本在生产使用中积累的经验和问题,我们将 Rainbond 应用运行时进行了完全重构。此次重构升级了 Kubernetes 和 Docker 的版本,并引入了 Kubernetes 的 Deployment、Secret、Ingress、ConfigMap 等资源,同时可支持对接已有 Kubernetes 集群。在应用存储方面,运行时提供了分布式存储和本地存储的 Provider, 在网络方面增加了对 Flannel 的支持,在服务调度方面增加了更多的调度选择机制。服务日志方面,增加了计算节点日志收集器完成日志收集和与第三方日志系统对接。
​ 本次重构将 Rainbond 服务抽象进行了改进,使得 Rainbond 抽象能够更好的支持 Kubernetes 原生抽象模型,为 5.1 版本 Rainbond 支持 Helm Chart 源码创建应用奠定了基础。
<img src=”https://grstatic.oss-cn-shang…; width=”100%”>
新增应用网关
​ 在之前版本中我们支持基础的域名绑定和四层访问支持,这些只解决了基础的访问需求,用户现在可以通过应用网关体验到大量开箱即用的访问控制功能。应用网关是以应用为核心抽象的关键环节,网关一词大家不会陌生,不管是传统的流量网关还是 API 网关,都是业务服务的外层屏障。Rainbond 应用网关基于 Openresty 进行功能扩展,其核心功能是应用访问的负载路由和安全控制。5.0 版本中的重点是在负载路由方面,当前版本我们设计了两类路由策略管理:

HTTP 访问策略(L7)HTTP 协议作为目前最主要的业务服务协议。Rainbond 支持以域名、请求路径、请求头、Cookies 等多种条件的路由规则,同时支持基于权重对后端服务进行分流。可以满足用户对服务的访问控制需求,实现 A / B 测试和灰度发布。

TCP/UDP 访问策略(L4)TCP/UDP 协议工作在四层,可以支持目前几乎所有服务,通过 IP 地址和端口进行服务路由。

​ Rainbond 应用网关自动发现当前数据中心运行的所有服务端点,根据用户配置的访问策略透明化的工作。后续的版本中应用网关将持续升级,带来以下特性:

多种负载均衡算法
服务安全控制(插件式扩展业务安全控制)
多维度监控数据
支持 gRPC 等更多的 L7 应用级协议路由策略

<img src=”https://grstatic.oss-cn-shang…; width=”100%”>
升级源码构建,支持 Gradle 构建
​ Rainbond 提供的源码构建功能在过去的版本中深得用户喜欢,从 5.0 版本开始,源码 CI 机制的相关功能更新优先级将被提高。当前版本中我们首先带来了对所有支持语言的 Runtime 版本的升级,具体升级版本见源码支持文档,对于 Java 我们增加了 Gradle 编译方式的支持, 对于.NetCore 增加自定义编译命令功能的支持。
​ 服务控制台中增加了构建源设置区域,提供了对各类支持语言的编译环境的相关设置,后续版本中将提供更丰富的设置项目方便用户灵活选择。
<img src=”https://grstatic.oss-cn-shang…; width=”100%”/>
引入 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。
(1)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
gitee
文档
技术社区

正文完
 0