🎉 Sealos 首充折扣,限时返场!最高立返 10000,活动日期 4月22日-4月28日
Sealos Logo

系统应用

主要介绍 Sealos 当前各个系统应用的基本原理与实现。

系统桌面

组成:前端系统+Kubernetes API+Kubernetes CRD API+数据库 API+其他 API

整个系统的入口,处理主界面上用户数据的展示与相关交互逻辑。

部署在桌面上的每个应用都单独存在并前后端分离部署。

应用管理

组成:前端系统+Kubernetes API

用于管理用户自定义的应用,本质上是把用户在 GUI 上的命令映射成 yml 文件 (主要是 deployment,service 等文件),交给 Kubernetes 执行。

费用中心

组成:前端系统 + Kubernetes CRD API

前端页面为用户展示各种收费标准,调用 CRD API,CRD controller 再调用后端一个单独的程序提供数据库查询接口,返回用户账单信息。

定时任务

组成:前端系统+Kubernetes API

用户管理 Kubernetes 原生 CronJob 资源,逻辑与应用管理基本相同。

数据库

组成:前端系统+数据库 API+Kubernetes CRD API (Kube Blocks)

数据库底层使用开源项目 Kube Blocks 实现,其使用了一系列的 CRD 来帮助用户完成数据库部署的过程。前端需要跟这些 CRD 的 API 交互。

用户系统的维护则在小强数据库中,使用 API 提供服务。

KubePanel

组成:前端系统+Kubernetes API

用户对特定 Namespace 下的各项资源进行管理,直接调用 Kubernetes 提供的 api 即可完成。

对象存储

组成:前端系统+Kubernetes CRD API

底层使用 minio,并使用两个 crd 维护关系,objectstorageuser_controller 用于维护存储账户与命名空间的关系,并处理限流等逻辑。

objectstoragebucket_controller 维护存储桶和存储账户之间的关系。

云开发

一个单独的应用链接,点击直接跳转到云开发应用。

文档中心

一个单独的应用链接,点击直接跳转到官方文档。

应用商店

组成:前端系统

应用的名称,种类等信息维护在 Github 的一个仓库中,前端直接拉取仓库中的数据并展示。

终端

组成:前端系统+Kubernetes CRD API

具体实现可以概括为前端应用调用 API,然后 controller 创建一套新的 pod/deployment/ingress 等资源,并建立一个 websocket 返回给前端,后续使用这个 websocket 进行通信。

工单

组成:前端系统+数据库 API

单独维护自己的用户系统,用户信息存储在单独的 Mongodb 中,用户上传的文件存储到 minio 中。

fastgpt

一个单独的应用链接,点击直接跳转到 fastgpt 应用。

邀请链接

组成:前端系统

展示邀请情况

私有云

一个单独的链接,点击直接跳转到一个问卷调查。

在 GitHub 上编辑

最后更新于

本页导航