Rainbond V5.12 版本发布,支持平台级插件和能力扩展


在这个版本中,我们主要支持了平台级的插件和能力扩展。希望能通过外部插件扩展平台能力,实现微内核的效果;同时以后将会继续精简安装,能让用户按需扩展平台功能。在 Kubernetes 兼容性这方面,我们也通过平台级的能力将对应资源暴露出来,交给用户处理。

概述

在之前的版本中,用户一开始会依赖于平台的功能简化管理,但到了高级使用场景,就有可能遇到平台当前已有的功能无法满足用户需求,此时给用户扩展平台能力的机制就非常重要。如果为了扩展平台功能,升级整个底层平台,将会面临复杂性和稳定性的挑战。

同时由于 Rainbond 主要在应用这一层进行抽象,所以对于 Kubernetes 中集群所提供的一些能力,并不能全部在平台上进行展示,如 StorageClass、GatewayAPI 等能力也无法在平台上直接进行管理。为了给用户提供更高级的功能,在之前的版本中,我们在 Kubernetes 生态的兼容性上做了许多工作,如应用级别的 K8s 资源创建、组件级的 K8s 属性配置等。

而在 5.12 版本以后,我们将通过 Rainbond 的插件体系扩展平台的功能。在这里有以下两个概念,平台级的插件和能力。

插件:

插件在 Rainbond 中其实对应的是应用市场中的应用,但是该应用包含插件的元数据定义(通过 CRD 资源定义),这样当用户安装该插件时,可以在平台管理-扩展-插件中获取到该插件的信息,并可以快速跳转到该应用进行管理。这样可以利用已有的应用商店体系,实现平台插件体系的分发和管理。

通常来说,一个插件包含以下内容:

  1. 一个能正常运行的应用:这个应用是插件的完整实现,即使单独部署也可以正常进行工作。
  2. 插件的描述文件(CRD):这个文件主要定义了插件的基本信息、如名称、描述、版本、作者等。
  3. 能力的描述文件(CRD):这个文件主要定义了该插件可以提供哪些能力,在这个 K8s 集群中所有该能力的实现都会被展示出来。如 ServiceMesh 类型的插件提供了应用治理的能力,那么在安装这类插件时,将会列出其能够提供的能力资源。

这样安装插件后,我们就可以一目了然的知道当前 k8s 集群提供的能力,比如支持应用治理的各类 ServiceMesh 框架、不同的 GatewayAPI 实现,不同的存储能力等等。

能力:

能力扩展主要是将 Kubernetes 底层所提供的一些能力展示给用户。通过 CRD 资源定义,将 Kubernetes 集群中一些资源同步到平台内,可以快速预览和编辑这些资源。如定义集群中的 storageClass 作为存储能力的展现,那么就可以在这里预览到所有的 storageClass 资源并进行操作。

而插件中则可以包含能力这种资源的定义,这样在安装插件时,即可同时暴露出该插件可提供的能力,由用户处理。如下图所示:

为什么使用插件

对于用户而言,安装插件与安装应用的体验完全一致。那为什么还要使用插件呢?主要可以从以下几点来看:

  1. 插件可以实现全局的管理,对于企业管理员而言,更关注于平台提供了哪些能力,这些都可以一目了然。而仅仅使用应用时,管理员无法对这些提供能力的应用做统一管理。
  2. 插件可以按需安装,与平台解耦,不会与平台一起安装,这样不需要该插件时则不会占用资源。
  3. 利用应用商店的分发体系,可以单独升级插件,Bug 修复也会更及时。
  4. 不同的插件都可以为平台的用户提供不同的能力,如 GatewayAPI 插件,可以为平台提供额外网关的能力;各类 ServiceMesh 插件,可以为平台提供应用治理模式注入的能力;云厂商的各类云服务,可以为平台提供存储的能力等等。

后续我们也会继续发布一些平台级的插件和能力,通过应用市场进行分发,供用户使用。目前已有Rainbond Pipeline 插件可以丰富平台的 CI 流程,具体使用参考文档:Pipeline 使用文档

详细变更点

新增功能

  • 支持平台级插件和能力扩展 #1480
  • 新增流水线插件,扩充平台 CI 能力 #1180

优化功能

  • 支持通过 OpenAPI 创建组件 #1266
  • 优化 Helm 仓库安装应用逻辑 #1570

BUG 修复

  • 修复Gitlab OAuth 仓库最多只显示20个仓库的问题 #1560
  • 修复团队页面排序问题 #1571 #1274
  • 修复 DockerCompose 放弃创建后,应用名重复的问题 #1573

感谢

流水线插件由 拓维信息 提供,感谢 丁鹏、刘进文、朱智阳 在社区中的贡献,才能使产品变得更好,我们欢迎大家任何形式的参与和贡献。


相關推薦

2022-11-08

重构平台管理视图,增加应用报警;支持 Helm 应用转化为Rainbond应用模型;支持集群Shell;支持控制台查看 Rainbond 组件的日志。 主要功能点解读: 增加工作空间,优化开发者使用体验 从平台工程的角度出发,我们希望能让平

2024-01-24

Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。 SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展。同时提供了丰

2022-09-09

Rainbond 5.8.1 支持在非容器环境中快速部署应用,监测应用的状态,同时全面支持英文化。 新增功能解读 1. 支持应用导出非容器环境安装包 在实际使用场景中,我们常常会遇到以下几类问题。 在一些场景下,禁止使用容器

2023-05-18

以及应用下的所有资源。 各语言源码构建包版本升级 Rainbond 支持一键将源码构建成镜像并运行起来,但在之前的版本中,部分语言支持版本有限,导致只能写 Dockerfile 来解决。因此为了提升用户源码构建的体验,我们对 Rainbon

2022-06-21

建立新的索引。强烈建议所有使用 PG14 的用户尽快升级小版本至 14.4 。 Pigsty v1.5.0 默认使用 PostgreSQL 14.3 ,在v1.5.1中已经升级为 PG 14.4。 扩展 Pigsty v1.5.1 对 Citus和TimescaleDB扩展插件进行了升级。 Citus 11 https://www.citusdata.com/upda

2022-04-07

行、语法校验、语句美化、全局变量等 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application 支持 Apache Flink 所有的 Connector、UDF、CDC等 支持 Fl

2023-04-02

openGauss 5.0.0 版本现已正式发布。这是openGauss发布的第三个LTS版本,版本生命周期为3年。公告称,openGauss 5.0.0版本与之前的版本功能特性保持兼容,在内核能力、工具链、兼容性方面全面增强。 具体更新内容包括: 一、内核

2023-03-25

了丰富的 QoS 能力: 精细化的资源出让策略:Katalyst 支持基于静态启发式、无监督算法、QoS Aware 的多种资源预估策略,更准确的计算和预测节点可出让资源量,进一步提高资源利用率。 多维度的资源隔离能力:基于 cgroup, r

2022-10-11

设施的开源操作系统,openEuler 22.09是社区构建的最新创新版本,充分释放多样性算力,深化全场景创新,实现欧拉与鸿蒙的互联互通。作为社区捐赠后的首个创新版本,openEuler 22.09 持续迸发创新活力,版本全量代码已达 6.7 亿行

2023-03-01

,半天上手,流水线式做网站。 安全稳定方面,百多次版本的更新迭代、使系统本身拥有强大的稳定及安全支撑,同时结合网站分离插件,将网站独立于服务器之外发布,数据持久性高达 99.9999999999%、千万级并发、高可靠,彻

2023-05-05

复数据源创建时间为空 Docs¶ 添加中文文档 添加 Rainbond 部署文档 添加插件文档 支持顶部滚动通知 Web¶ 修复数据表无效分页 修复了无法正确渲染的问题 修复包含国际化数据的渲染缺失的翻译结果 支持复

2022-09-08

者:曾庆国(悦达) KubeVela 1.5 于近日正式发布。在该版本中为社区带来了更多的开箱即用的应用交付能力,包括新增系统可观测;新增 Cloud Shell 终端,将 Vela CLI 搬到了浏览器;增强的金丝雀发布;优化多环境应用交付工作

2022-09-24

国数据库产业值得借鉴和思考的突围途径。 TiDB 早在 1.0 版本就实现了在线事务处理的规模化扩展,为 HTAP 能力打下坚实的基石;4.0 版本实现初步的 HTAP 能力,OLAP 与 OLTP 分区独立,物理隔离;5.0 版本在原有 HTAP 引擎的基础上

2023-09-20

1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小) 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image 简介: 克制、简洁、高效、开放、生态 支持 JDK8、JDK11、JDK17、JDK20(是同时支持) Http、WebSocket、Socket 三种信号统一