Skip to main content

介绍

内核基于kubernetes operator模式进行开发,提供完整的组件生命周期管理、组件订阅和自动化部署能力,并通过tekton扩展实现组件自动化评测和安装前校验等能力。

整体架构

KubeBB Core架构图

核心优势

声明式组件生命周期管理

组件生命周期

组件的生命周期主要可以划分为三个阶段:

component_lifecycle

1. 研发阶段

开发者通过低码平台(optional)完成组件的开发工作,根据不同的组件类型,选择不同的方式完成组件的打包,并将打包后的资源发布到仓库服务中。

组件资源一般包含两类:

  • 镜像资源: 组件开发完成一般需要构建成一个镜像,并推送到镜像仓库
  • 安装包:组件安装部署时的各种资源配置信息(通常为Helm charts),并推送到Charts包仓库

镜像资源一般通过公共镜像仓库(Dockerhub)或私有镜像仓库管理,我们不做特殊处理。组件仓库服务主要用于存储安装包(Charts)。

2. 部署阶段

系统管理员从组件仓库服务中手动查找存储的组件列表,获取可用的组件信息(发布者、版本、安装配置等),并根据实际情况,完成组件配置并安装到系统中。安装完成后,需要手动去检查组件版本更新,并谨慎的完整组件的升级。

3. 使用阶段

普通用户在组件安装到系统后,通过底座Kit提供的统一访问入口和统一用户认证来访问具体的组件服务。

声明式的优势

声明式的组件生命周期管理有以下优势:

  • 可读性: 更易于理解和阅读组件定义本身,因为它们表达了想要的结果,而不是实现的步骤。
  • 可维护性:更易于维护组件,因为它们更容易理解,更容易修改,而且更少有错误。
  • 可重用性:更容易重用组件,因为它们通常是独立于上下文的,可以在不同的环境中使用。
  • 可扩展性:更易于扩展组件,因为它们通常是基于组件和模块的,可以简单地组合起来创建更复杂的系统。
  • 可靠性:更可靠,因为它们通常是基于静态配置的,而不是基于运行时状态的。这意味着它们更少出现运行时错误和意外行为。

多维度组件评测

通过集成Tekton流水线组件,实现自动化的组件评测,并通过CRD Rating完成评测数据总结和分析。

目前组件评测围绕三个维度展开:

  • 安全性: 评估组件的安全性和软件供应链的安全性。
  • 可靠性: 评估组件本身是否已经过良好的功能测试、性能测试
  • 可用性: 评估组件是否有充足的文档、示例来指导用户使用

全面适配Helm生态

Helm是一种成熟的包管理工具,提供一种简单的方式来管理Kubernetes应用程序的部署和升级。它拥有庞大的社区和众多优秀的项目。 因此,内核从设计之初就确定了必须全面兼容Helm生态

这一特点体现在内核设计的各个方面,我们支持:

扩展适配底座服务

tip
  1. 低代码开发平台定义MenusRoute等底座相关资源,并打包到组件模版中
  2. 内核获取底座自定义资源后,自动解析、配置、创建对应资源

底座服务支持通过自定义菜单路由扩展平台服务,为支撑适配这一能力,我们做了以下努力:

  • 移植Menu资源类型
  • 移植Route配置

从而通过内核串联云梯低代码开发平台底座服务