ACP Kernel 拆解与瘦身
ACP Kernel 范围定义
14 个保留插件的边界与职责
ACP Kernel 范围定义
目标
ACP Kernel 面向 AI 场景、集成测试和平台底座复用,承载平台安装、多集群注册、用户权限、OLM operator 市场、平台内部 registry、默认网络入口、证书与 HA。
范围摘要
本表只列能力域归属。具体 plugin 见下文「14 个保留插件」,镜像级明细见 image-source-matrix.md。
| 领域 | 保留能力 | 拆出能力 |
|---|---|---|
| Bootstrap | 平台安装与 AppRelease 控制 | 无 |
| Base | 多集群 API 路由与扇出、平台运行时 | Console shell、前端载荷 |
| Auth | Global IAM 与集群 RBAC 投影 | Login / user / project UI |
| Marketplace | OLM operator 安装与中央视图 | Marketplace UI、Helm repository service |
| Cluster | CAPI Alauda provider、节点 / 控制面镜像引用 | kube-node / cri-containerd 改为 third-party dependency |
| Registry | 平台内部镜像仓与对象存储 | 无 |
| Network / Access | CNI、DNS、入口、HA | 无 |
| Certificate | TLS / mTLS 签发 | 无 |
初稿与本轮方案对照
| 主题 | 初期拆解 | 本轮方案 |
|---|---|---|
| Kernel 包 | 精简 core | 面向 AI 与集成场景的 Kernel |
| 前端载荷 | 从 core 中移除 | 从 Kernel 中移除,改为 L4 插件 |
| Helm repository service | 从 core 中移除 | 从 Kernel 中移除,改为 L4 插件 |
image-loader | 移除 | 保留 |
kube-node / cri-containerd | 未收敛 | 作为 third-party dependency 管理 |
| GitLab 结构 | 团队维度 | 产品 / 职责维度,归属 acp-kernel |
| Harbor repo | 未明确 | 保持现状 |
后续演进方向
本轮范围聚焦 14 个保留插件与边界稳定。
image-loader 决策
| 位置 | 初期拆解 | 本轮结论 | 原因 |
|---|---|---|---|
base | 移除 | 保留 | 仍承担资源投递与安装链路依赖 |
cluster-manager | 移除 | 保留 | 仍参与 cluster bootstrap 相关流程 |
决策说明
- 本轮把
image-loader纳入 Kernel 运行时依赖。 - 本轮目标聚焦边界拆分与 repo 迁移。
image-loader的后续去留进入独立优化项。
14 个保留插件
| 插件 | 角色 | 说明 |
|---|---|---|
sentry | Installer / AppRelease controller | 平台安装入口 |
base | Cluster Base | 保留 image-loader |
base-central | Central Base | 去掉前端载荷 |
platform-registry | 内部镜像仓 | 平台内部 registry |
auth-manager-central | Global IAM | 去掉前端载荷 |
auth-manager | 集群 RBAC 投影 | 权限投影 |
marketplace | 集群 OLM | operator 市场 |
marketplace-central | 中央市场后端视图 | 去掉前端与 Helm repository service |
cluster-manager | CAPI Alauda provider | 保留 image-loader |
kube-ovn | CNI | 唯一保留 CNI |
coredns | 集群 DNS | 核心基础组件 |
alb | Ingress / Gateway 入口 | 默认访问入口 |
alive | kube-apiserver VIP / HA | 控制面高可用 |
cert-manager | TLS / mTLS 签发 | 证书能力保持外部依赖口径 |
从 Kernel 拆出的载荷
L4 插件按「能否独立装卸」收敛,不按源仓或子模块细拆。Console 相关载荷同源同发版同生命周期,合并为单一 l4-console;Marketplace UI 在 AI / 集成场景可选不装,单列;Helm repository service 是后端,与 UI 不同维度,单列。
| 类别 | 组件 | 目标 L4 插件 |
|---|---|---|
| Console(shell + 入口 + auth UI) | frontend/portal、frontend/chart-frontend、frontend/assets、frontend/i18n、alauda/alauda-console、frontend/console-dex、frontend/console-project、frontend/user-plugin | l4-console |
| Marketplace UI | frontend/app-market-plugin | l4-marketplace-ui |
| Helm repository service | acp/captain、3rdparty/chartmuseum | l4-helm-repository-service |
依赖关系图
功能边界
| 能力 | Kernel 负责 | L4 负责 |
|---|---|---|
| 平台安装 | 是 | 否 |
| 多集群注册 | 是 | 否 |
| 用户 / RBAC 投影 | 是 | 否 |
| OLM operator 安装 | 是 | 否 |
| UI 渲染 | 否 | 是 |
| Chart 上传 / 索引 / 同步 | 否 | 是 |
| 内部 registry | 是 | 否 |
| 默认访问入口 | 是 | 否 |
验收口径
| 方面 | 验收信号 |
|---|---|
| Kernel 包 | 14 个插件都能构建并通过核心 smoke |
| L4 拆分粒度 | 收敛为 l4-console / l4-marketplace-ui / l4-helm-repository-service 三个,无源仓维度的二次细分 |
| 边界清晰 | UI 与 Helm repository service 不再内嵌在 Kernel |
| 运行完整性 | image-loader、多集群、权限、OLM、入口、HA 路径保持可用 |
| 归属清晰 | 内部源码仓在 acp-kernel 下有稳定归属 |