K8S故障注入混沌工程开源平台ChaosMesh

2023-08-16 08:27:40 浏览数 (1)

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云原生计算基金会孵化项目

0 人点赞