主题
第七部分 混沌工程与容量规划
系统稳定性的最高境界是主动发现薄弱环节。本部分讲解混沌工程和容量规划方法。
第 27 章 混沌工程
27.1 什么是混沌工程
混沌工程是通过在系统中引入故障,验证系统韧性的实践。核心思想:主动破坏,提前发现弱点。
27.2 混沌工程原则
- 建立稳态假设
- 引入真实世界事件
- 在生产环境运行
- 持续自动化
- 最小化爆炸半径
27.3 常用混沌工程工具
| 工具 | 特点 |
|---|---|
| Chaos Mesh | CNCF 项目,K8s 原生 |
| Litmus | CNCF 项目,声明式混沌实验 |
| Gremlin | 商业平台 |
| AWS FIS | 云原生故障注入 |
27.4 Chaos Mesh 实验示例
yaml
apiVersion: chaos-mesh.org/v1alpha1
kind: PodChaos
metadata:
name: pod-failure-example
spec:
action: pod-failure
mode: one
selector:
labelSelectors:
app: nginx
duration: 30s27.5 本章练习
- 部署 Chaos Mesh。
- 对 Nginx Pod 实施 pod-failure 实验。
- 对节点实施 network-delay 实验。
第 28 章 容量规划
28.1 容量规划目标
- 满足业务增长需求
- 避免资源浪费
- 控制成本
- 保障高峰期稳定性
28.2 容量规划方法
- 收集历史负载数据
- 分析增长趋势
- 预测未来需求
- 制定扩容计划
- 定期复盘调整
28.3 常用指标
- CPU 利用率
- 内存利用率
- Pod 密度
- 请求 QPS
- 排队任务数
- 节点剩余可调度资源
28.4 成本优化策略
- 合理设置 requests/limits
- 使用 Spot/抢占式实例
- 按需扩缩容
- 清理闲置资源
- 使用 Kubecost 分析成本
28.5 本章练习
- 分析你集群过去 7 天的资源使用趋势。
- 计算当前集群的剩余容量。
- 制定一个扩容计划。
第七部分总结
完成本阶段学习后,你应该能够:
- 使用 Chaos Mesh 进行混沌实验
- 制定容量规划方案
- 优化集群资源成本
进入第八部分:性能调优与大规模运维。