1. 课程导论:多集群 etcd 压测沙盘的整体架构、课程目标与学习路径
1.1 为什么需要多集群 etcd 压测沙盘
在生产环境中,etcd 作为 Kubernetes 的控制面存储,其稳定性直接决定集群的可用性。当企业从单集群演进到多集群架构时,etcd 面临的核心挑战不再是单点性能,而是资源配额争抢与限流参数误配引发的级联故障。本课程构建的压测沙盘,正是为了在隔离环境中复现这些生产级风险,并提供可量化的优化手段。
核心痛点:多集群共享 etcd 实例时,一个集群的突发写入可能挤占其他集群的租约续期、Watch 推送等关键路径,导致全局抖动。传统单集群压测工具无法模拟这种“跨集群干扰”场景。
1.2 压测沙盘整体架构
沙盘采用“控制面-数据面-观测面”三层解耦设计,支持同时模拟 3~8 个独立 Kubernetes 集群对同一 etcd 集群的混合压力。下图展示了沙盘的核心组件与数据流:
1.3 课程目标
完成本课程后,学员将具备以下能力:
| 能力维度 | 具体目标 | 可交付成果 |
|---|---|---|
| 架构理解 | 掌握多集群 etcd 压测沙盘的组件划分与数据流 | 沙盘部署拓扑图 + 组件职责清单 |
| 配额调优 | 能够根据业务模型设置合理的租户/前缀级别资源配额 | 配额配置模板 + 压测验证报告 |
| 限流参数 | 理解 etcd 内置限流器原理,并针对多集群场景调优 | 限流参数推荐值 + 对比测试数据 |
| 故障排查 | 通过沙盘复现配额耗尽、限流误触发等典型故障 | 故障排查 SOP + 根因分析文档 |
| 自动化 | 将压测流程集成到 CI/CD 管道,实现回归检测 | 自动化脚本 + 流水线配置 |
1.4 学习路径与章节地图
课程按“基础→进阶→实战”三阶段组织,共 30 章。下图展示了核心知识模块的依赖关系:
1.5 前置知识与环境要求
前置知识:
- 熟悉 etcd 基本概念(key-value、Watch、Lease、Raft)
- 了解 Kubernetes 控制面组件与 etcd 的交互方式
- 具备基本的 Linux 运维与 Docker 使用经验
环境要求:
- Linux 服务器(推荐 8 核 32GB 以上,用于运行沙盘与压测客户端)
- Docker 20.10+ 与 Docker Compose v2
- Go 1.21+(用于编译自定义压测工具)
- Prometheus + Grafana(观测面组件,沙盘提供一键部署脚本)
1.6 课程产出与评估方式
| 评估项目 | 形式 | 占比 |
|---|---|---|
| 沙盘部署与验证 | 实操报告 + 截图 | 20% |
| 配额与限流参数调优实验 | 对比测试数据 + 分析文档 | 40% |
| 故障复现与根因分析 | 故障排查报告 | 25% |
| 自动化压测流水线 | 代码仓库 + CI 配置 | 15% |
课程提供完整的沙盘代码仓库、压测场景模板、配额配置样例以及限流参数调优指南。学员完成所有实验后,将具备独立搭建多集群 etcd 压测环境并进行资源配额与限流参数优化的实战能力。