1. 课程背景与目标

1.1 课程背景:为什么需要这次压测复盘?

在 Kubernetes 集群大规模升级过程中,etcd 作为集群状态存储的核心组件,其稳定性直接决定了升级的成败。2024 年 Q2,我们针对某生产集群(节点规模 5000+、Pod 规模 12 万+)执行了 etcd 配额(--quota-backend-bytes)从 8 GiB 升级至 16 GiB 的操作。升级完成后,集群出现了以下异常现象:

  • 写延迟飙升:etcd 写入 P99 延迟从 8 ms 上升至 45 ms,持续约 30 分钟。
  • Leader 选举抖动:升级后 2 小时内发生 3 次非预期 Leader 切换。
  • 客户端超时:kube-apiserver 出现大量 etcdserver: request timed out 错误。
  • 存储空间碎片化:升级后数据库大小未显著增长,但 db size in use 与 db total size 差距扩大至 40%。

事后分析发现,问题根因并非配额升级操作本身,而是升级前未对 配额校准流程 进行充分的压力测试与容量验证。本次课程将完整复盘该事故,提炼出一套可复用的压测方法论与校准流程。

核心教训: 配额升级不是简单的参数修改,而是一次涉及存储引擎、压缩策略、客户端连接池、网络吞吐的全局状态变更。未经压测校准的配额变更,等同于在生产环境做实验。

1.2 课程目标受众

角色 关注点 预期收获
SRE / 运维工程师 etcd 集群日常运维、升级、故障恢复 掌握配额升级的完整压测流程与风险控制手段
性能测试 / 质量保障工程师 压测场景设计、指标采集、瓶颈分析 学会构建 etcd 专项压测模型与校准指标体系
平台架构师 集群容量规划、组件选型、SLA 制定 理解配额与性能的量化关系,优化架构决策
Kubernetes 开发者 / 贡献者 etcd 客户端行为、存储机制、限速逻辑 深入 etcd 内部存储模型与配额校准算法

1.3 课程结束后应掌握的核心能力

完成本课程后,学员将具备以下 5 项核心能力:

  1. 压测场景设计能力:能够根据生产流量特征,设计覆盖读写混合、突发写入、网络分区、节点故障等场景的 etcd 压测方案。
  2. 配额校准分析能力:理解 quota-backend-bytes 与 db size、历史版本堆积、碎片率 的量化关系,能通过压测数据校准最优配额值。
  3. 指标解读与瓶颈定位能力:熟练使用 etcdctl endpoint status、etcdctl check perf、Prometheus 指标(etcd_server_leader_changes_seen_total、etcd_disk_wal_fsync_duration_seconds 等)进行根因分析。
  4. 升级风险预判与回滚能力:制定配额升级的灰度策略、健康检查清单、回滚触发条件,确保变更可观测、可管控。
  5. 压测报告与复盘文档编写能力:按照本课程提供的模板,输出结构化的压测报告与事故复盘文档,推动团队知识沉淀。

1.4 课程知识体系全景图

下图展示了本次课程的核心知识模块及其关联关系,帮助学员建立全局视角:

升级配额校准 etcd 压测复盘 - 知识体系全景图 课程知识体系全景图 背景与事故复盘 生产事故根因分析 etcd 存储模型 B+树 / 历史版本 / 压缩 配额校准原理 quota 与性能量化关系 压测场景设计 读写混合 / 突发 / 故障注入 指标采集与分析 Prometheus / etcdctl / 日志 瓶颈定位与优化 磁盘 / 网络 / 内存 / 限速 灰度升级与回滚 灰度策略 / 健康检查 / 回滚 压测报告与复盘 报告模板 / 复盘文档 最佳实践与工具链 自动化压测 / 巡检工具 课程设计原则 理论 + 实战 + 复盘闭环 | 每章包含可复用的压测脚本与配置模板 所有指标阈值均来自生产环境实测数据
学习建议: 建议按照图中模块顺序学习,从事故复盘入手建立感性认知,再深入存储模型与校准原理,最后掌握压测、分析、优化、回滚的完整闭环。每章末尾的实战练习请务必动手操作。

1.5 课程产出物清单

本课程将提供以下可直接用于工作的产出物:

产出物 格式 用途
压测场景模板(YAML) .yaml 直接导入压测工具,覆盖 6 种标准场景
指标采集 Dashboard(JSON) .json 导入 Grafana,实时监控压测过程
配额校准计算表(Excel) .xlsx 输入压测数据,自动输出推荐配额值
升级健康检查清单(Markdown) .md 升级前逐项检查,降低变更风险
事故复盘报告模板(Markdown) .md 标准化复盘流程,沉淀团队经验