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 👇

Users of 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.

Design for Kubernetes

In the Kubernetes realm, CustomResourceDefinition (CRD) is a proven solution for implementing custom resources. Chaos Mesh leverages CRDs for natural integration with the Kubernetes ecosystem.

Easy to Use

No special dependencies, Chaos Mesh can be easily deployed on Kubernetes clusters directly, including minikube and kind.

  • Ability to perform chaos experiments in production environments without modifying the deployment logic of applications.
  • Quickly create chaos experiments through the dashboard, allowing users to observe the experiment's state in real time and quickly roll back any injected failures.

Flexible Scope

Chaos Mesh provides multiple filtering rules that allow selecting injection targets based on labels, annotations, and so on. They are collectively called selectors.

In addition, users can also set a namespace whitelist to greater control the "blast radius" of the experiment.

Security First

Role-based access control (RBAC) is enabled by default to restrict malicious operations. Users must be authorized with specific privileges to access the dashboard.

Wide variety of failure types

Chaos Mesh initially started from a distributed system perspective, fully considering its possible failures, thus providing more comprehensive and fine-grained fault types to help users with fault injection for networks, disks, file systems, operating systems, etc.

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 of Chaos Mesh. One of our experimental tools, Chaosd, specifically tests chaos on physical machines. Moreover, you can use PhysicalMachineChaos in Chaos Mesh to remotely invoke Chaosd for conducting experiments on physical machines.

Learn More →

Building the Whole Community Together

Join the community and interact with maintainers and other users. Your suggestions can make Chaos Mesh better.

Be a contributor to building the future of Chaos Mesh.

Logo OctocatGitHub

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.