GitOps 全景结论
一页读完整场演变的结论版(2026-08-31 结账)。展开细节走文末链接。
六层最终落位
| 层 | 落位 | 结局 |
|---|---|---|
| L1 打包与源 | GitHub monorepo + umbrella chart + TCR/GHCR | ✅ 稳定 |
| L2 CI 与证明 | GitHub Actions 矩阵(后改仅 tag 触发) | 🟡 扫描后补 |
| L3 密钥 | 线上 Vault + ESO | ✅ 本次建成,机制活 |
| L4 持续交付 | ArgoCD | ❌ 断链(零 Application,实测 2026-08-24/30) |
| L5 晋级编排 | 无 | ⬜ 等触发条件 |
| L6 基础设施 | bootstrap 安装器 | ⬜ 平台纳管未做 |
问题的四次形态变化
选型题(读文章后「我需要什么 GitOps」)→ 架构题(密钥真相源住哪)→ 工程题(当日建成 Vault + ESO 并硬化)→ 流程题(集群重装后没人把 Application 接回去,L4 断链)。
三句话结账
- 做了:L3 全链建成并行为验证(轮换传播 18 秒)、四项安全硬化、约 730 处公开仓明文清理、历史重写。
- 刻意没做:Tekton/Crossplane/Fleet 永久跳过;Kargo/Rollouts 等触发条件;这些是裁剪不是欠账。
- 遗漏:断链证据(零 Application)在 2026-08-17 的 pod 全景里就可见而无人点破——恢复路径写进自动化的组件(ESO)活过了重装,没写的(Application)死了。
一句话结论
六层里没有一层因工具选错而失败,唯一的断裂发生在层与层之外的流程缝里;「The best GitOps implementation is the one that's actually in use」,重接时把恢复路径当交付物,不当记忆。