介绍
内核基于kubernetes operator模式进行开发,提供完整的组件生命周期管理、组件订阅和自动化部署能力,并通过tekton扩展实现组件自动化评测和安装前校验等能力。
整体架构
核心优势
声明式组件生命周期管理
组件生命周期
组件的生命周期主要可以划分为三个阶段:
1. 研发阶段
开发者通过低码平台(optional)完成组件的开发工作,根据不同的组件类型,选择不同的方式完成组件的打包,并将打包后的资源发布到仓库服务中。
组件资源一般包含两类:
- 镜像资源: 组件开发完成一般需要构建成一个镜像,并推送到镜像仓库
- 安装包:组件安装部署时的各种资源配置信息(通常为Helm charts),并推送到Charts包仓库
镜像资源一般通过公共镜像仓库(Dockerhub)或私有镜像仓库管理,我们不做特殊处理。组件仓库服务主要用于存储安装包(Charts)。
2. 部署阶段
系统管理员从组件仓库服务中手动查找存储的组件列表,获取可用的组件信息(发布者、版本、安装配置等),并根据实际情况,完成组件配置并安装到系统中。安装完成后,需要手动去检查组件版本更新,并谨慎的完整组件的升级。
3. 使用阶段
普通用户在组件安装到系统后,通过底座Kit提供的统一访问入口和统一用户认证来访问具体的组件服务。
声明式的优势
声明式的组件生命周期管理有以下优势:
- 可读性: 更易于理解和阅读组件定义本身,因为它们表达了想要的结果,而不是实现的步骤。
- 可维护性:更易于维护组件,因为它们更容易理解,更容易修改,而且更少有错误。
- 可重用性:更容易重用组件,因为它们通常是独立于上下文的,可以在不同的环境中使用。
- 可扩展性:更易于扩展组件,因为它们通常是基于组件和模块的,可以简单地组合起来创建更复杂的系统。
- 可靠性:更可靠,因为它们通常是基于静态配置的,而不是基于运行时状态的。这意味着它们更少出现运行时错误和意外行为。
多维度组件评测
通过集成Tekton流水线组件,实现自动化的组件评测,并通过CRD Rating
完成评测数据总结和分析。
目前组件评测围绕三个维度展开:
全面适配Helm生态
Helm是一种成熟的包管理工具,提供一种简单的方式来管理Kubernetes应用程序的部署和升级。它拥有庞大的社区和众多优秀的项目。 因此,内核从设计之初就确定了必须全面兼容Helm生态。
这一特点体现在内核设计的各个方面,我们支持:
扩展适配底座服务
tip
- 低代码开发平台定义Menus、Route等底座相关资源,并打包到组件模版中
- 内核获取底座自定义资源后,自动解析、配置、创建对应资源
底座服务支持通过自定义菜单和路由扩展平台服务,为支撑适配这一能力,我们做了以下努力:
- 移植Menu资源类型
- 移植Route配置
从而通过内核串联云梯低代码开发平台与底座服务。