Rainbond V5.13 新版本发布,支持 Gateway API

2,363 阅读3分钟

当前版本主要的变化有:支持 k8s Gateway API、优化 Operator 类型组件使用体验。

主要功能点解读:

支持 Gateway API

Gateway API 是 Kubernetes 1.19 版本中引入的一种新的网关类型资源,可以将其看作为 Ingress 的更高级抽象,其目标是建立一套表现力强、易扩展、面向角色的服务网络模型。相较于原有的 Ingress ,Gateway API 具有更灵活、规范、可扩展等特性, 解决了 Ingress 不规范、移植性差等问题。

而在之前的版本中,平台仅提供了一种网关作为外部流量入口,主要由 Rainbond 的 rbd-gateway 组件实现;由于这层绑定关系,用户无法在平台上使用其他的 Ingress Controller 实现。因此为了解耦用户业务与平台的强绑定关系,让用户能按需使用不同的网关类型。平台支持了 k8s Gateway API ,将其作为平台的扩展网关能力进行使用。

默认情况下扩展网关不会展示,需要安装 Gateway API 基础资源及其下游实现插件后才会展示。目前在开源应用商店已上架 Gateway API 基础组件以及 Envoy Gateway 和 Nginx Gateway 插件,通过部署 Envoy 和 Nginx 两个插件,我们可利用 k8s Gateway API 扩展网关能力,并且可以在 Envoy 和 Nginx 间切换网关实现。

优化 Operator 组件使用体验

Operator 是一种自定义 Kubernetes API 的扩展,他通过监控一组声明的自定义 CRD 资源来管理应用,大大简化 Kubernetes 集群中复杂应用程序的管理和运维。

Rainbond 在之前提供了 Helm、Yaml 等多种方式对 Operator 类型组件进行部署,但是由于 Operator 所管理的资源并非平台所创建所以无法在平台中得到展示,所以为了更好的可视化体验,Rainbond 5.13 版本优化了 Operator 类型组件的展示逻辑,将 Operator 所管理的 Workload 类型资源在应用视图以浅灰色组件的形式进行展示,并且会将 Service 类型的资源通过第三方组件的方式暴露出来供用户访问。

详细变更点

新增功能

  • 支持 k8s Gateway API,拓展网关能力
  • 优化 Operator 类型组件在平台中的使用体验
  • 支持 Nginx(Gateway API 类型)网关插件
  • 支持 Envoy(Gateway API 类型)网关插件

优化功能

  • 支持 k8s 资源批量删除
  • 支持 k8s 资源单独发布到应用市场

BUG 修复

  • 组件基于dockerfile构建时,从私有仓库中拉取镜像失败 #1594
  • 修复默认 rbd-monitor 存储分配额过小的问题 #1525
  • 修复命令行工具连接失败的问题 #1595
  • 修复通过 git 仓库创建组件无法设置英文名的问题 #1194
  • 修复集群节点列表获取不到角色标签报错 #1282