Skip to main content

Break
Your System
Constructively.

Chaos Mesh brings various types of fault simulation to Kubernetes and has an enormous capability to orchestrate fault scenarios. It helps you conveniently simulate various abnormalities that might occur in reality during the development, testing, and production environments and find potential problems in the system.

Try it out with the following command 👇

Chaos Mesh 的用户

APISIX
Authzed
Celo
China Everbright Bank
Dailymotion
DataStax
Digital China
Fuxi Lab
juiceFS
KingNet
Maycur
Meituan
NETSTARS
Percona
PingCAP
Pulsar
Qihoo 360
Qiniu Cloud
RabbitMQ
SHAREit
S.J. Distributors
Tencent
Vald
WeBank
Xpeng

Make Cloud Native + Chaos Engineering simple and straightforward.

Based on the principles of Chaos Engineering, Chaos Mesh abstracts real-world events into objects that can be directly applied, hiding the trivial details.

为 Kubernetes 设计

在 Kubernetes 领域,CustomResourceDefinition (CRD) 是实现自定义资源的成熟解决方案。 Chaos Mesh 借助 CRD 实现了与 Kubernetes 生态系统的自然融合。

易于使用

无需特殊依赖,Chaos Mesh可以轻松地直接部署在Kubernetes集群上,包括 minikubekind

  • 无需修改应用的部署逻辑,拥有在生产环境中进行混沌实验的能力。
  • 通过仪表盘快速创建混沌实验,允许用户实时观察实验的状态并快速回滚任何注入的故障。

灵活的范围

Chaos Mesh 提供了多种过滤规则,允许根据标签、注释等选择注入目标。它们统称为选择器。

此外,用户还可以设置命名空间白名单,以更大程度地控制实验的“爆炸半径”。

安全至上

默认启用基于角色的访问控制(RBAC)以限制恶意操作。用户必须被授予特定权限才能访问仪表板。

Wide variety of failure types.

Chaos Mesh 起初从分布式系统的角度出发,充分考虑了其可能出现的故障,从而提供更全面、更细粒度的故障类型来帮助用户对网络、磁盘、文件系统、操作系统等进行故障注入。

Chaos Category

PodChaos / pod-failure


apiVersion: chaos-mesh.org/v1alpha1
kind: PodChaos
metadata:
name: pod-failure-example
namespace: chaos-mesh
spec:
selector:
labelSelectors:
'environment': 'staging'
mode: one
action: pod-failure
duration: 30s

NetworkChaos / delay


apiVersion: chaos-mesh.org/v1alpha1
kind: NetworkChaos
metadata:
name: network-delay-example
spec:
selector:
namespaces:
- default
labelSelectors:
'env': 'production'
mode: one
action: delay
delay:
latency: '10ms'
correlation: '100'
jitter: '0ms'

StressChaos


apiVersion: chaos-mesh.org/v1alpha1
kind: StressChaos
metadata:
name: mem-stress
namespace: chaos-mesh
spec:
selector:
namespaces:
- 'default'
labelSelectors:
'env': 'test'
mode: one
stressors:
memory:
workers: 2
size: '128MB'

Orchestrate complex fault scenarios with Workflows.

Real-world failures are often not isolated causes.Chaos Mesh has built-in workflows that allow you to experiment serially or in parallel at will to build walkthroughs that fit the architecture.

Suspend

You can also use the suspend node to simulate a temporary recovery.

Status Check

You can also use customized status checks to inform the cluster status.

Start Creating →
Experimental

Meet Chaosd: A Chaos Toolkit for Physical Machines.

Even if you are not using Kubernetes, you can still take advantage of the features offered by Chaos Mesh. One of our experimental tools, Chaosd, is specifically designed to test chaos on physical machines. Moreover, you can use PhysicalMachineChaos in Chaos Mesh to remotely invoke Chaosd for conducting experiments on physical machines.

Overview →

Building the Whole Community Together.

加入社区和维护者及其他用户一起交流,你的建议可以让 Chaos Mesh 变得更好。

Join our contributors in building the future of Chaos Mesh.

Star on GitHub

Experiencing any issues? Don't hesitate to reach out to us for assistance.

Slack

Connect with other users on our Slack channel (#project-chaos-mesh).

Join Slack channel

Chaos Mesh is a Cloud Native Computing Foundation incubating project.