希曼日记

GitOps 断链与重接前置

本页目录 3
  1. 断因链(复盘)
  2. 重接前置(源:argocd-app.yml 顶部告警)
  3. 结构性修复

事实(源:ecommerce 仓 AGENTS.md,2026-08-24 实测、2026-08-30 复验):

  • ArgoCD 零 Application、零 ApplicationSet,AppProject 只剩 default
  • 集群实际由 backend/services/*/deploy/ 手工路径驱动;helm/values.yaml 不是集群真相源(实测集群 6 种镜像 tag 风格并存)
  • argocd-devwindow 脚本已改为诚实空转;网关与配置面迁至 control-tower 仓(2026-08-23 切流);CI 仅发布 tag 触发(2026-08-20 起)

断因链(复盘)

  1. 集群按计划重装 → ArgoCD 由 bootstrap 重新装出,纯净无 Application
  2. ecommerce 的 argocd-{proj,app,repo}.yml 属于「集群外手工 apply」的状态,不在任何自动化路径里 → 重装后没人重新 apply
  3. 2026-08-17 当天的 pod 全景已显示集群里没有 ecommerce 命名空间——断链当时已发生,注意力在 L3,无人点破
  4. 手工 deploy 路径运行数周,集群与 chart 漂移出三处不符:资源名、标签、镜像 tag

重接前置(源:argocd-app.yml 顶部告警)

先对账三处不符再接。直接开 selfHeal 会拉起一整套影子服务,并经 Consul 注册抢走网关流量——集群里 config-center 这个命名空间名只是遗留标签,实际运行的已是 control-tower 的镜像。第一轮审查给出的纳管姿势在此依然成立:先建 Application 不开 automated,拿 OutOfSync 状态当对账清单,核平后再逐个开启自动同步。

结构性修复

「重装 → 重接线」进 bootstrap:argo 组件装完 ArgoCD 本体后,同阶段 apply 业务 Application 清单,对齐 external-secrets 组件已实现的重装恢复设计。恢复路径进了自动化的组件(ESO)活过了重装,没进的(Application)断了——同一集群的对照实验。

相关:L4 持续交付 · L6 基础设施 GitOps · 演变时间线