1. 课程导论与整体架构
课程目标
本课程旨在帮助学员构建一套从代码提交到多集群生产发布的全自动化流水线,并集成统一的监控告警体系。完成本课程后,学员将能够:
- 设计并实现基于 GitOps 的 K8s 发布流水线,支持灰度发布与快速回滚。
- 搭建跨多个 Kubernetes 集群的统一监控数据采集层(Metrics & Logs)。
- 配置基于 Prometheus + Thanos + Alertmanager 的多集群告警路由与静默规则。
- 整合发布事件与告警事件,实现“发布即观测”的闭环能力。
适用人群
| 角色 | 前置要求 | 核心收益 |
|---|---|---|
| DevOps / SRE 工程师 | 熟悉 Docker、K8s 基础操作 | 掌握生产级 CI/CD 与监控集成方案 |
| 平台架构师 | 了解微服务与云原生架构 | 获得多集群治理与可观测性设计思路 |
| 后端开发(K8s 方向) | 有基本的 YAML 编写经验 | 理解发布流程对应用稳定性的影响 |
整体技术栈
课程围绕以下核心组件展开,所有工具均为开源或云原生标准生态项目:
| 领域 | 技术选型 | 版本参考 |
|---|---|---|
| 代码仓库 & CI | GitLab / GitHub Actions | GitLab 16+ / Actions 最新 |
| 镜像仓库 | Harbor / Docker Registry | Harbor 2.8+ |
| GitOps 工具 | ArgoCD / Flux CD | ArgoCD 2.10+ |
| K8s 集群 | Kubernetes (kubeadm / EKS / AKS) | 1.27+ |
| 监控指标 | Prometheus + kube-state-metrics + node_exporter | Prometheus 2.50+ |
| 多集群聚合 | Thanos (Sidecar + Query) | Thanos 0.33+ |
| 告警管理 | Alertmanager + 企业微信 / PagerDuty | Alertmanager 0.27+ |
| 日志采集 | Loki + Promtail | Loki 2.9+ |
整体架构图
下图展示了从开发人员提交代码到多集群发布,以及监控告警数据流的完整链路:
架构要点:左侧流水线采用 GitOps 模式,ArgoCD 监听 Git 仓库中的期望状态,自动同步至多个 K8s 集群;右侧监控层通过 Thanos 实现指标全局视图,Alertmanager 根据发布事件动态调整告警阈值,避免发布期间的误报。
核心流程步骤
- 代码提交:开发者推送代码至 Git 仓库,触发 CI 流水线。
- 镜像构建与推送:CI 工具编译代码、构建 Docker 镜像,并推送至 Harbor 镜像仓库。
- 清单更新:CI 自动更新 Git 仓库中的 K8s 部署清单(镜像 Tag)。
- GitOps 同步:ArgoCD 检测到清单变更,拉取最新镜像并逐步发布至集群 A 和集群 B。
- 指标采集:各集群的 Prometheus 实例采集 Pod、节点、应用指标。
- 全局查询:Thanos Query 聚合多集群指标,提供统一查询入口。
- 告警评估:Alertmanager 根据预定义规则(如 Pod 重启次数、5xx 错误率)发送通知。
- 可视化:Grafana 展示发布进度、集群健康状态及告警趋势。
课程章节地图
| 模块 | 章节范围 | 核心产出 |
|---|---|---|
| 基础环境 | 第 2-4 章 | 多集群网络互通、Harbor 与 ArgoCD 部署 |
| 流水线构建 | 第 5-10 章 | GitOps 发布、灰度策略、回滚机制 |
| 监控部署 | 第 11-18 章 | Prometheus 多集群、Thanos 聚合、Loki 日志 |
| 告警集成 | 第 19-24 章 | Alertmanager 路由、静默、与发布联动 |
| 实战案例 | 第 25-28 章 | 端到端压测、故障演练、告警自愈 |
| 总结与扩展 | 第 29-30 章 | 最佳实践、Terraform 基础设施即代码 |
前置提醒:本课程所有实验均在隔离的测试环境完成。生产环境部署时,请务必做好 RBAC 权限控制、Secret 加密(Sealed Secrets / External Secrets)以及备份策略。