
CiliKube 采用现代化的前后端分离架构,旨在提供清晰、可扩展且高效的管理平台。
主要组件
-
前端 (Frontend):
- 技术栈: Vue 3, TypeScript, Vite, Element Plus。
- 职责: 提供用户交互界面 (Web UI),展示从后端获取的数据,并将用户的操作请求发送给后端 API。
- 特点: 响应式设计,组件化开发,利用 Element Plus 提供丰富的 UI 组件,TypeScript 保证代码类型安全。
-
后端 (Backend):
- 技术栈: Go, Gin Web Framework, Kubernetes Client-Go。
- 职责:
- 提供 RESTful API 供前端调用。
- 接收前端请求,与 Kubernetes API Server 进行交互(使用官方的
client-go
库)。 - 执行 K8s 资源的管理操作(创建、读取、更新、删除 - CRUD)。
- 处理用户认证和授权(如果平台本身有用户系统)。
- 聚合或处理来自 K8s API 的数据,使其更适合前端展示。
- (可选) 包含与监控系统 (Prometheus) 或日志系统 (Elasticsearch) 的集成。
- 特点: Go 语言带来的高性能和高并发能力,Gin 框架的简洁高效,
client-go
的官方支持和稳定性。
-
Kubernetes API Server:
- 职责: Kubernetes 集群的控制平面核心组件,提供统一的 RESTful API 入口,用于管理集群中的所有资源。所有对集群状态的查询和修改都必须通过 API Server。
- 交互: CiliKube 后端通过
client-go
库与 API Server 通信,发送请求并接收响应。
-
Kubeconfig:
- 职责: 存储访问 Kubernetes 集群所需的配置信息(API Server 地址、用户凭证、上下文等)。
- 使用: CiliKube 后端读取 Kubeconfig 文件来确定如何连接以及以哪个用户的身份连接到目标 K8s 集群。
2025年4月1日大约 2 分钟