Chaos Mesh 是针对K8S的云原生混沌工程开源平台。 可以用它方便地模拟开发、测试、生产环境中可能出现的各种异常情况,发现系统中潜在的问题。
创建者
研发支持混合事务与分析处理的开源数据库TiDB的PingCap公司
一句话介绍
ChaosMesh是针对K8S的云原生开源混沌工程平台。
关键特性
ChaosMesh的关键特性包括可注入的故障、实验工作流、可视化操作和安全控制。
可注入的故障
可注入的故障,包括基本资源故障,平台故障和应用故障这3类。
基本资源故障,包括模拟Pod失效,网络失效,DNS失效,HTTP通信延迟,CPU或内存使用高负荷,文件读写失效,时间跳跃异常,应用内存分配异常等。
平台故障,包括模拟AWS或GCP节点重启。
应用故障,包括Java应用方法调用延时。
实验工作流
实验工作流,包括编排顺序或并行执行的故障注入实验,查看实验状态和结果,暂停实验,支持用YAML或Web UI定义和管理实验。
可视化操作
可视化操作,包括可以在Web UI上点击鼠标,定义实验的范围、故障注入类型和调度规则,最后能展示实验结果。
安全控制
安全控制,包括使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。还可以通过设置命名空间注解,来指定允许进行混沌实验的命名空间,进一步保障对混沌实验的控制。
适用平台
K8S
适用场景
Chaos Mesh 为 Kubernetes 上的混沌工程提供了很大的灵活性,鼓励通过 CI/CD 进行自动化实验,并被 Azure Chaos Studio 用于注入 Kubernetes 故障。
优势
能提供K8S平台上的基础资源、平台和应用故障模拟。
具有故障场景编排能力。
为了降低混沌工程项目的门槛,Chaos Mesh提供了可视化操作。 可以在 Web UI 上轻松设计 Chaos 场景并监控 Chaos 实验的状态。
使用K8S原生提供的基于角色的访问控制功能,来管理故障注入的使用权限。
劣势
只能在K8S集群上使用。否则,就只能使用针对节点进行故障注入实验的附带工具chaosd。
临时执行的实验会无限期地运行。设置实验持续时间的方法,只能进行实验编排,或手动终止实验。
开源许可证
Apache-2.0 license
GitHub点赞数
5.9k
最近发布日期与版本
2023.06: v2.6.1
所属项目
CNCF云原生计算基金会孵化项目