ACP Kernel 拆解与瘦身
ACP Kernel 验证与切换方案
Kernel / L4 smoke 与 cutover 清单
ACP Kernel 验证与切换方案
验证目标
Kernel 拆分后保持核心平台能力,L4 插件保持独立交付能力。
验证矩阵
| 维度 | 检查项 | 成功标准 |
|---|---|---|
| Packaging | 保留插件构建 | 14 个 Kernel 插件都能生成产物 |
| Channel consistency | cn / intl 验证 | 一致性脚本通过 |
| Install | 平台初始化 | installer 与 sentry 链路完成 |
| Multi-cluster | 注册业务集群 | CAPI、erebus、cluster-transformer 正常 |
| Third-party dependency | 节点与容器运行时依赖引用 | ait/kube-node、ait/cri-containerd 引用链路稳定 |
| Auth | identity 与 RBAC projection | apollo 与 auth-controller2 正常 |
| Marketplace | operator install path | Subscription -> InstallPlan -> CSV 正常 |
| Access | 核心 API 暴露 | alb 能暴露核心 API |
| HA | VIP 与控制面 HA | alive 正常 |
| L4 | plugin install 与 smoke | 5 个 L4 插件都可独立安装和回归 |
Smoke Test 序列
Kernel Smoke
| 步骤 | 场景 | 预期结果 |
|---|---|---|
| 1 | 安装平台 | installer phases 完成,sentry reconcile 全部保留插件 |
| 2 | 注册业务集群 | cluster 创建完成,ModulePlugin fan-out 成功 |
| 3 | 安装一个 operator | CSV ready |
| 4 | 创建用户与绑定 | RBAC projection 出现在目标集群 |
| 5 | 访问核心入口 | apollo 与 erebus 通过 alb 可达 |
| 6 | 校验 HA | keepalived VIP 健康 |
L4 Smoke
| 步骤 | 场景 | 预期结果 |
|---|---|---|
| 1 | 安装 l4-console | OIDC 跳转 / cookie / shell 加载 / routes 渲染 / login / user / project UI 全部可用 |
| 2 | 安装 l4-marketplace-ui | marketplace UI 与 backend 保持连通 |
| 3 | 安装 l4-helm-repository-service | chart upload / index / sync 正常 |
Cutover 计划
| 阶段 | 动作 | Exit Criteria |
|---|---|---|
| Phase 1 | 创建 acp-kernel repo 结构 | 所有目标 repo 已创建 |
| Phase 2 | 迁移内部源码仓 | CI 与权限可用 |
| Phase 3 | 切换 Kernel packaging | 保留 package set 稳定 |
| Phase 4 | 发布 L4 插件 | 3 个 L4 插件可安装 |
| Phase 5 | 运行全量验证 | Kernel smoke 与 L4 smoke 全部通过 |
| Phase 6 | 切换默认发布路径 | 新结构成为默认交付入口 |
风险清单
| 风险 | 影响 | 缓解动作 |
|---|---|---|
image-loader 依赖面高于预期 | Base 或 cluster-manager runtime 不稳定 | 本轮保留在 Kernel |
| third-party packaging 版本漂移 | cluster-manager 节点初始化失败 | 固定 kube-node 与 cri-containerd 版本窗口并做 smoke 验证 |
| marketplace-central watcher 清理不完整 | Helm repository service 残留故障 | watcher、RBAC、service accounts 一起验收 |
| installer 仍引用已拆出插件 | 安装卡在缺失的 ModulePlugin | cutover 前更新 installer 列表 |
| channels 修改不同步 | 发布流水线失败 | 所有 channels 一起修改并验证 |
| L4 依赖声明不完整 | plugin install 失败 | 在 chart metadata 中显式声明 Kernel 依赖 |
迭代性验证
交付验证采用 delivery-plan.md 的执行任务与里程碑。
| 迭代 | 最小验收信号 |
|---|---|
| I1 | A1 与 A2 交付物通过评审,M1 与 M2 达成 |
| I2 | A3 交付物通过评审,M3 达成 |
| I3 | A4 与 A5 交付物通过评审,M4 与 M5 达成 |
完成标准
| 级别 | 完成标准 |
|---|---|
| Documentation Ready | docs、matrices 与 cutover checklist 审核通过 |
| Build Ready | Kernel 与 L4 都可构建 |
| Validation Ready | Kernel smoke 与 L4 smoke 全部通过 |
| Release Ready | repo 归属、package 输出与 runtime 行为全部对齐 |
ait/pipeline 适配前置条件
| 时序点 | 检查 |
|---|---|
在 fire 第一个 v4.4.X (non-beta) release tag 前 | ait/chart-console-marketplace、ait/chart-console-essentials 必须已存在 release-4.4 分支 |
在 fire 第一个 v4.4.X (non-beta) release tag 前 | ait/chart-application-catalog 必须已存在 release-4.4 分支 |
ait/pipeline 的 4.4+ band 改动 MR 已 merge 进 main | 同上 |
| 老 ait/* 仓的 carve-out MR 已 merge | 否则 4.3 走旧路径时 frontend.tag 等字段仍存在,无冲突 |