1. 课程导论:HPA 故障复测的背景、目标与课程整体架构
1.1 为什么需要 HPA 故障复测?
在生产环境中,Horizontal Pod Autoscaler(HPA)是保障业务弹性伸缩的核心组件。然而,HPA 的配置并非“一次设置,永久生效”。实际运维中,HPA 可能因多种原因失效或表现异常,导致服务过载或资源浪费。传统的“配置即交付”模式无法验证 HPA 在真实故障场景下的行为,因此需要引入故障复测机制。
核心痛点: 配置正确 ≠ 运行正确。HPA 在以下场景中极易出现预期外的行为:
- Metrics Server 延迟或不可用
- 自定义指标采集链路中断
- 集群节点资源竞争导致调度延迟
- 多 HPA 策略冲突或目标利用率计算偏差
1.2 课程目标
本课程旨在通过混沌工程与故障注入手段,系统性地验证 HPA 伸缩任务编排的健壮性。完成本课程后,学员将能够:
| 目标维度 | 具体能力 | 对应实战章节 |
|---|---|---|
| 故障发现 | 识别 HPA 在指标延迟、节点故障下的异常行为 | 第 3-5 章 |
| 编排验证 | 设计并执行多阶段伸缩任务编排,验证依赖关系 | 第 6-8 章 |
| 混沌实验 | 使用 Chaos Mesh / Litmus 注入 Pod、网络、节点故障 | 第 9-12 章 |
| 自动化复测 | 构建 CI/CD 流水线中的 HPA 回归测试套件 | 第 13-15 章 |
1.3 课程整体架构
课程采用“基础 → 编排 → 注入 → 复测”四阶段递进式设计,覆盖从理论到实战的完整闭环。
1.4 课程章节分布
课程共 30 章,按知识密度分为以下模块:
| 模块 | 章节范围 | 核心内容 | 实战比例 |
|---|---|---|---|
| 基础篇 | 第 1-5 章 | HPA 原理、Metrics Server、自定义指标、Kubernetes 调度基础 | 40% |
| 编排篇 | 第 6-10 章 | 伸缩任务编排设计、依赖管理、回滚策略、多 HPA 协同 | 60% |
| 注入篇 | 第 11-20 章 | 故障注入工具链、Pod/网络/节点故障、混沌实验设计 | 80% |
| 复测篇 | 第 21-30 章 | 自动化复测框架、CI/CD 集成、报告生成、最佳实践 | 90% |
学习建议: 基础篇建议按顺序学习;编排篇与注入篇可交叉进行;复测篇建议在完成前三个阶段后集中实践。
1.5 故障复测的核心流程
本课程遵循的故障复测流程可抽象为以下闭环:
- 基线建立: 在无故障环境下记录 HPA 的正常伸缩行为(伸缩延迟、Pod 数量变化曲线)。
- 故障注入: 通过混沌工程工具注入目标故障(如 Metrics Server 延迟、节点资源竞争)。
- 行为采集: 实时采集 HPA 决策日志、Pod 状态、指标数据。
- 差异分析: 对比故障状态与基线状态的偏差,识别异常模式。
- 策略优化: 根据分析结果调整 HPA 配置或编排策略。
- 回归验证: 重复上述步骤,确认问题已修复且未引入新缺陷。
注意: 故障复测不是一次性活动。每次 HPA 配置变更、集群升级或业务模型调整后,都应重新执行复测流程,确保伸缩行为始终符合预期。