10. 交付与 GitOps
交付不是「把 YAML apply 上去」,而是一条可重复、可审计、可回滚的链路:构建镜像 → 生成清单 → 部署 → 验证 → 切流 → 回滚。Helm/Kustomize 负责「怎么描述」,GitOps 负责「谁来收敛」,Rollouts 负责「怎么切流量」。
- 层级:
L4 · 实战
- 难度:
进阶
- 预计:
35 分钟
- 前置:
Deployment、Helm、Kustomize
技术栈地图
包管理 / 模板:Helm、Kustomize、Helmfile、Timoni、OCI Artifact。
GitOps:Argo CD、Flux CD。
渐进式发布:Argo Rollouts、Flagger。
CI / 构建:GitHub Actions、GitLab CI、Tekton、Argo Workflows、BuildKit、Kaniko。
镜像仓库:Harbor、ACR/ECR/GAR。
选型要点
Helm 适合第三方组件和需要版本化分发的场景;Kustomize 适合自研应用的多环境覆盖。GitOps 的关键不是工具,而是「集群状态只从 Git 收敛」这条约束。渐进式发布必须绑定可观测指标,否则只是把发布风险换了个地方。
本域文章
关联章节
Helm 与包管理:Chart、values、发布回滚。
Kustomize 声明式应用管理:base/overlay、patch。
Jenkins 流水线、GitLab 平台:CI 侧实现。
微服务商城:多组件交付案例。