Skip to content

第七部分 混沌工程与容量规划

系统稳定性的最高境界是主动发现薄弱环节。本部分讲解混沌工程和容量规划方法。


第 27 章 混沌工程

27.1 什么是混沌工程

混沌工程是通过在系统中引入故障,验证系统韧性的实践。核心思想:主动破坏,提前发现弱点。

27.2 混沌工程原则

  • 建立稳态假设
  • 引入真实世界事件
  • 在生产环境运行
  • 持续自动化
  • 最小化爆炸半径

27.3 常用混沌工程工具

工具特点
Chaos MeshCNCF 项目,K8s 原生
LitmusCNCF 项目,声明式混沌实验
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: 30s

27.5 本章练习

  1. 部署 Chaos Mesh。
  2. 对 Nginx Pod 实施 pod-failure 实验。
  3. 对节点实施 network-delay 实验。

第 28 章 容量规划

28.1 容量规划目标

  • 满足业务增长需求
  • 避免资源浪费
  • 控制成本
  • 保障高峰期稳定性

28.2 容量规划方法

  1. 收集历史负载数据
  2. 分析增长趋势
  3. 预测未来需求
  4. 制定扩容计划
  5. 定期复盘调整

28.3 常用指标

  • CPU 利用率
  • 内存利用率
  • Pod 密度
  • 请求 QPS
  • 排队任务数
  • 节点剩余可调度资源

28.4 成本优化策略

  • 合理设置 requests/limits
  • 使用 Spot/抢占式实例
  • 按需扩缩容
  • 清理闲置资源
  • 使用 Kubecost 分析成本

28.5 本章练习

  1. 分析你集群过去 7 天的资源使用趋势。
  2. 计算当前集群的剩余容量。
  3. 制定一个扩容计划。

第七部分总结

完成本阶段学习后,你应该能够:

  • 使用 Chaos Mesh 进行混沌实验
  • 制定容量规划方案
  • 优化集群资源成本

进入第八部分:性能调优与大规模运维。