当前位置: 首页 > news >正文

【安全与故障排查】07-混沌工程落地:用故障注入提升系统韧性

混沌工程落地:用故障注入提升系统韧性

专栏:安全 & 故障排查
难度:专家
标签:混沌工程Chaos Engineering故障注入韧性Chaos Mesh


前言

最好的故障演练方式,是在可控的情况下主动制造故障。混沌工程的核心理念:在故障真的来临之前,先于它们发现系统的薄弱点


一、混沌工程的步骤

1. 定义稳定状态假设(系统正常时应该有什么指标) 2. 设计故障实验(注入什么类型的故障) 3. 在生产/预发执行(从小范围开始) 4. 观察与稳定状态的偏差 5. 修复发现的问题 6. 提高爆炸半径

二、Chaos Mesh 安装(K8s环境)

# 安装helm repoaddchaos-mesh https://charts.chaos-mesh.org helminstallchaos-mesh chaos-mesh/chaos-mesh-nchaos-testing --create-namespace# 访问Dashboardkubectl port-forward-nchaos-testing svc/chaos-dashboard2333:2333

三、常见故障实验

实验1:Pod 随机杀死(Netflix Chaos Monkey)

apiVersion:chaos-mesh.org/v1alpha1kind:PodChaosmetadata:name:kill-random-podnamespace:chaos-testingspec:action:pod-killmode:one# 随机杀1个Podselector:namespaces:-productionlabelSelectors:app:myappscheduler:cron:"@every 10m"# 每10分钟杀一次

实验2:网络延迟注入

apiVersion:chaos-mesh.org/v1alpha1kind:NetworkChaosmetadata:name:add-latencyspec:action:delaymode:allselector:namespaces:[production]labelSelectors:app:payment-servicedelay:latency:"500ms"correlation:"25"# 相关性25%(模拟真实网络抖动)jitter:"100ms"duration:"5m"

实验3:CPU 压力

apiVersion:chaos-mesh.org/v1alpha1kind:StressChaosmetadata:name:cpu-stressspec:mode:oneselector:namespaces:[production]stressors:cpu:workers:2load:80# 80% CPU负载duration:"10m"

实验4:磁盘IO限速

apiVersion:chaos-mesh.org/v1alpha1kind:IOChaosmetadata:name:disk-io-delayspec:action:latencymode:oneselector:namespaces:[production]volumePath:/datapath:"**"delay:"10ms"percent:50# 50%的IO操作增加10ms延迟

四、游戏日(GameDay)组织

每月一次 GameDay 故障演练: 1. 提前1周通知所有相关团队 2. 准备假设("如果支付服务挂了,订单服务会怎样") 3. 准备回滚方案 4. 执行演练 5. 立即回滚 6. 72小时内发布演练报告,记录发现的问题 7. 2周内修复所有发现的问题

五、混沌工程成熟度评估

级别描述
Level 0从未做过故障演练,靠祈祷
Level 1有手动故障演练流程,但不频繁
Level 2定期 GameDay,有组织地演练
Level 3自动化混沌实验,持续运行
Level 4生产环境持续混沌,自动修复

结语:混沌工程不是为了制造混乱,而是为了发现在混乱到来之前你还不知道的问题。从小范围、低频率开始,逐步提高置信度。

http://www.jsqmd.com/news/1157647/

相关文章:

  • 2026年新消息:青岛执行异议律师咨询选择指南与专业推荐 - 品牌鉴赏官2026
  • 7550稳压芯片24V应用为什么要串电阻?一文讲透LDO散热原理
  • 远程部署工具ZEQP-PSDeploy
  • MAX77654与PIC18LF46K40的嵌入式电源管理方案
  • 网盘直链下载助手终极指南:免费获取九大网盘真实下载链接的完整方案
  • STM32F042K6与CMT-8540S-SMT蜂鸣器实现嵌入式音频反馈方案
  • Go 语言初始化 MySQL 数据库实战指南:从零到生产环境部署
  • 猫抓浏览器插件:三步快速掌握网页视频下载的完整方案
  • 如何5分钟配置大麦网自动化抢票脚本:告别黄牛票的终极指南
  • ChatGPT GPTs商店上线前必做的7项合规检查:GDPR/数据主权/模型版权三重红线预警
  • S16.2第一性原理做产品(2):从《从0到1》看AI创业——在“能做“通胀时代,找到你的秘密
  • AGW 跨模态行人重识别:SYSU-MM01 数据集 80 Epoch 训练,Rank-1 达 77.8% 复现指南
  • 2026年河北车用润滑油实力厂家盘点:康耐琪为何备受关注? - 品牌鉴赏官2026
  • 影刀RPA Kubernetes自动化:Pod管理与日志采集
  • 终极指南:Tabby终端分屏功能如何彻底改变你的多任务工作流
  • nvidia-smi 命令行实战:5个高级查询技巧实现GPU监控自动化
  • SpringBoot常见问题:多环境配置的最佳实践
  • 2026年7月9日——武汉卫生间漏水到楼下怎么办?不用砸砖的方法 - 捷修防水
  • 计算机毕业设计之基于ssm的养老服务系统
  • 2026年7月最新北京欧米茄官方售后客服电话及服务网点地址查询 - 欧米茄官方服务中心
  • LayerDivider 终极指南:AI智能分层技术深度解析与实战应用
  • openeuler/dim_tools测试用例详解:确保基线生成工具可靠性
  • Equalizer APO:Windows音频优化的终极免费解决方案完整指南
  • 【Bug已解决】Claude permission denied / File write blocked by sandbox — Claude 沙箱权限拒绝解决方案
  • 基于STM32智能家居 烟雾温度火灾防盗报警 短信wifi蓝牙系统 成品123(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • BetterNCM安装器完整教程:3分钟为网易云音乐添加插件管理功能
  • 经常寄快递怎么省钱?内行人都在用的寄法 - 快递物流资讯
  • 蓝牙5.4音频传输方案:IDC777-1模块与PIC18F45K80开发实践
  • 宝珀中国官方售后服务中心地址和24小时电话实地考察报告多信源验证(2026年7月最新) - 宝珀官方售后服务中心
  • 卡地亚表扣怎么解开?专业维修保养步骤详解权威公示(2026年7月最新) - 卡地亚官方售后中心