适用场景:中大型微服务集群、频繁版本迭代团队、云原生环境下的自动化部署落地
关键词:Kubernetes、Jenkins、GitLab CI、Argo CD、Helm、DevOps、GitOps
🧭 一、前言:为什么要做 CI/CD?
在云原生时代,业务发布从月级版本变为分钟级交付。 传统的“人工打包 + 手动 kubectl apply”已无法满足以下需求:
- 💥 高频发布:微服务数量多、更新频繁;
- ⚙️ 多环境隔离:开发、测试、预发布、生产;
- 🧩 可回滚、可追溯:每次部署都有 Git 提交记录;
- 🧠 自动化与安全:避免人为误操作。
因此,构建一个以 Kubernetes 为核心的 CI/CD 自动化部署体系,已成为现代运维与开发的基础能力。
🧱 二、整体架构设计
📐 架构概览
核心组件角色说明
| 组件 | 作用 | 推荐部署方式 |
|---|---|---|
| GitLab/GitHub | 代码托管与版本控制 | 云端或自建 |
| Jenkins / GitLab CI | CI 构建与镜像打包 | 独立 Pod 部署 |
| Harbor / DockerHub | 镜像仓库 | 内网优先 |
| Argo CD / FluxCD | GitOps 持续部署 | 集群内 |
| Helm / Kustomize | 配置模板与环境管理 | 与 CD 结合使用 |
| Kubernetes | 最终运行环境 | Master + |