本节介绍如何使用混沌工程扩展组件。

组件介绍

混沌工程(Chaos Mesh)是基于 Kubernetes 的云原生混沌工程平台,通过主动向系统注入故障,帮助您发现系统潜在的稳定性问题,提升系统的容错能力与可靠性。安装混沌工程扩展组件后,KubeSphere 左侧导航栏将显示*混沌工程*入口。本节介绍如何在 KubeSphere 中使用混沌工程扩展组件模拟各类故障场景。

混沌工程扩展组件基于 Chaos Mesh 构建,更多技术细节请参阅 Chaos Mesh 官方文档

概述

在分布式系统中,仅依靠测试环境的验证往往难以覆盖生产中的真实故障场景。混沌工程通过在受控条件下主动触发故障,帮助团队在问题暴露之前识别系统薄弱点。相较于传统故障演练,混沌工程扩展组件针对以下场景提供了系统化支持:

  • 生产级分布式系统难以通过人工手段复现网络抖动、磁盘延迟等底层故障。

  • Pod 层面的故障注入缺乏统一管理入口,操作分散、追踪困难。

  • 压力测试与故障注入工具割裂,难以模拟真实的复合故障场景。

功能

  • 支持块存储故障模拟,可对块设备的 I/O 读写注入延迟。

  • 支持 DNS 故障模拟,可使域名解析返回错误或随机 IP 地址。

  • 支持文件系统故障模拟,可对指定路径的文件系统调用注入延迟或错误。

  • 支持 HTTP 故障模拟,可对请求或响应执行中断、延迟、替换、补丁等操作。

  • 支持内核故障模拟,可模拟内核路径上的 I/O 或内存分配故障。

  • 支持网络故障模拟,可模拟网络分区、丢包、延迟、重复包、错误包及带宽限制。

  • 支持 Pod 故障模拟,可使 Pod 不可用、强制删除 Pod 或终止指定容器。

  • 支持压力测试模拟,可在容器内创建进程抢占 CPU 或内存资源。

  • 支持时钟故障模拟,可对容器内时钟注入偏移量。