一、先搞懂底层逻辑:K8s 管运行,GitOps 管交付
Kubernetes解决的是"怎么跑"的问题——容器编排、自动扩缩容、故障自愈、服务发现,全靠它。但K8s本身不管"该跑什么版本"。
GitOps解决的恰恰是这个缺口。Weaveworks在2017年提出这个理念:把Git作为唯一事实来源,所有配置、所有变更都走Git提交,再由ArgoCD或FluxCD自动同步到集群。核心一句话:Git仓库是预期状态,K8s集群是实际状态,工具持续对比,不一致就自动纠偏。
两者不是替代关系,是互补关系。K8s是引擎,GitOps是方向盘。
二、企业落地的三步走方案
第一步:规划先行,别急着动手
央国企信创转型的经验值得借鉴——"三步走"策略最稳:先建小规模全栈云试点,再扩展中台能力,最后全面推广。组织上必须先成立架构委员会,从业务领域出发做服务拆分,而不是从数据库表结构倒推。方向错了,当前不痛,未来一定痛。
第二步:仓库结构决定成败
Git仓库不是随便建的。企业级推荐结构:base/放无环境差异的基础配置,overlays/放dev/test/prod的环境补丁,charts/放Helm Chart。多环境不复制YAML,只用Kustomize打补丁,一套基础配置复用所有环境,大幅减少冗余和出错概率。
分支策略也有讲究:main对应生产,staging对应测试,dev对应开发。禁止任何人直接kubectl修改运行中的配置——这是铁律。
第三步:ArgoCD接管交付闭环
完整工作流是这样的:本地改YAML → commit → push → 提交PR → 代码审查 → 合并 → ArgoCD感知变更 → 自动同步到K8s。整个过程不需要人工登录集群,不需要手动kubectl apply。配置被手动篡改?ArgoCD的drift检测立即告警。出故障要回滚?Git revert一条命令,10秒恢复历史版本。
三、三个必踩的坑
四、为什么这套方案能跑通?
传统CI/CD是推送式——CI工具把产物推送到生产,变更入口多、审计分散、回滚靠人工。GitOps是拉取式——生产环境主动从Git拉取配置,变更入口唯一、审计完整、回滚基于Git历史一键完成。安全风险也更低,生产环境不暴露给CI工具。
结语
2026年,企业买单的不是"会用K8s的人",而是能把K8s和GitOps焊死、让交付周期从两周压到四小时的人。K8s是骨架,GitOps是神经,ArgoCD是心脏。三样东西跑通了,云原生才算真正落地。别再碎片化学了,一篇吃透,直接干。
暂无评论