1. 课程导论:K8s存储etcd压测沙盘Argo CD指标告警分层
课程概述
本课程面向资深SRE、Kubernetes平台工程师及云原生架构师,聚焦于生产环境中三个最关键的稳定性与自动化环节:etcd存储性能压测、Argo CD声明式交付以及多层级指标告警体系。课程以“沙盘”为实践载体,学员将在模拟真实故障与高负载场景下,构建从存储层到应用交付层的完整可观测性闭环。
核心命题: 当etcd写入延迟飙升时,Argo CD的Application Sync是否仍能保持一致性?告警系统能否在SLO违约前自动熔断?本课程将用工程化手段回答这些问题。
学习目标
完成本章及后续29章学习后,学员应具备以下能力:
| 能力维度 | 具体目标 | 交付物 |
|---|---|---|
| etcd压测与调优 | 掌握etcd读写模型、quorum机制、磁盘IO与网络延迟对性能的影响;能使用benchmark工具模拟高负载并分析关键指标 | etcd压测报告 + 调优参数清单 |
| Argo CD沙盘搭建 | 在K8s集群中部署Argo CD,配置多环境ApplicationSet,实现GitOps自动化同步 | Argo CD沙盘环境 + 同步流水线 |
| 指标告警分层设计 | 基于Prometheus + Alertmanager构建四层告警体系(存储层、控制面、应用层、业务层),配置抑制与降噪规则 | 告警规则YAML + 分层拓扑图 |
| 故障注入与演练 | 通过混沌工程工具注入etcd延迟、Pod驱逐、网络分区等故障,验证告警与自愈能力 | 故障演练报告 + 复盘文档 |
前置知识
学员需具备以下基础,课程不再展开讲解:
- Kubernetes核心概念: Pod、Deployment、Service、ConfigMap、RBAC、etcd作为控制面存储的基本原理。
- Prometheus生态: 指标采集(ServiceMonitor)、PromQL基础查询、Alertmanager路由与接收器配置。
- GitOps与Argo CD基础: Application/ApplicationSet CRD、Sync策略、Repo Server与Controller组件角色。
- Linux性能分析: iostat、vmstat、strace、tcpdump等工具的基本使用,理解磁盘IOPS与延迟概念。
建议: 如果对etcd Raft协议或Argo CD ApplicationSet Generator不熟悉,建议先阅读官方文档或本课程附录章节(第29-30章)的速查手册。
课程知识体系与分层架构
下图展示了本课程的核心分层逻辑:从底层的etcd存储压测,到中间层的Argo CD交付沙盘,再到顶层的指标告警分层体系。每个层级都包含独立的压测/配置/监控模块,并通过故障注入串联成完整演练闭环。
课程章节结构速览
全课程共30章,按“基础-压测-交付-告警-演练”五阶段组织:
| 阶段 | 章节范围 | 核心内容 |
|---|---|---|
| 基础与环境 | 第1-5章 | 课程导论、K8s集群沙盘搭建、etcd架构速览、Argo CD安装、Prometheus Stack部署 |
| etcd压测沙盘 | 第6-12章 | etcd读写压测工具、磁盘IO/网络延迟注入、Raft一致性验证、压测报告分析 |
| Argo CD交付沙盘 | 第13-19章 | ApplicationSet多环境配置、Sync策略调优、etcd延迟对同步影响、健康检查自定义 |
| 指标告警分层 | 第20-26章 | 四层告警规则设计、Alertmanager路由/抑制/降噪、告警自愈联动、SLO与错误预算告警 |
| 综合演练与复盘 | 第27-30章 | 混沌工程故障注入、全链路压测演练、告警复盘报告、课程总结与附录 |
重要提示: 本课程所有沙盘环境均基于K8s 1.28+、etcd 3.5+、Argo CD 2.10+、Prometheus 2.50+。请确保实验环境版本兼容,避免因版本差异导致命令或CRD不匹配。
课程配套资源
- 沙盘脚本仓库: 包含etcd压测脚本、Argo CD ApplicationSet YAML、告警规则模板、故障注入脚本。
- 指标大盘模板: Grafana Dashboard JSON,覆盖etcd、Argo CD、K8s控制面核心指标。
- 演练剧本: 5个标准故障场景的注入步骤、预期告警、恢复验证checklist。