Chaos Engineering

Use when working with chaos engineering — fault injection, resilience testing, system reliability

liaosw97 Updated

File contents

核心原则

  • 定义明确的稳态行为假设,而非模糊的系统状态
  • 在生产环境中进行实验,真实环境才能暴露真实问题
  • 自动化实验执行,实现持续验证
  • 最小化爆炸半径,控制故障影响范围
  • 建立反馈循环,从实验中持续学习和改进

技术栈

  • 故障注入工具:Chaos Mesh、Litmus Chaos、Gremlin、Chaos Monkey
  • 编排平台:Kubernetes、Docker、Cloud Foundry
  • 监控体系:Prometheus、Grafana、Datadog、New Relic
  • 可观测性:OpenTelemetry、Jaeger、ELK Stack
  • 自动化框架:Azure Chaos Studio、AWS FIS、Google Cloud Chaos

最佳实践

  1. 实验设计:从简单的故障场景开始(CPU压力、网络延迟),逐步增加复杂度
  2. 爆炸半径控制:使用百分比流量切换、特定Pod选择器限制影响范围
  3. 监控依赖:建立黄金指标(延迟、流量、错误、饱和度)实时观测
  4. 回滚机制:预设自动终止条件和恢复流程
  5. 文档记录:记录实验假设、过程、结果和改进措施
  6. 定期演练:将混沌实验纳入常规运维流程

关键约定

  1. 命名规范:实验名称格式 chaos-{类型}-{环境}-{日期}
  2. 实验模板:所有实验配置必须包含 durationselectorblastRadius 字段
  3. 告警集成:实验执行前自动发送通知,结束后发送结果报告
  4. 权限控制:混沌工程工具需要最小权限原则配置 RBAC
  5. 结果追踪:使用 GitOps 管理实验配置和结果记录

liaosw97/awesome-rules-skills/tree/main/plugins/chaos-engineering/skills/chaos-engineering commit 7f990a42f8

Frequently asked questions

npx skillmds@latest add liaosw97/chaos-engineering