Chaos Mesh is an open source, cloud-native Chaos Engineering platform for Kubernetes. It uses Kubernetes custom resources to define, orchestrate, and observe controlled fault injection against workloads, infrastructure, cloud services, and applications.
Chaos Mesh is a Cloud Native Computing Foundation (CNCF) incubating project. If you are an organization that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF.
Features
- Broad fault coverage: Pod, network, DNS, HTTP, I/O, time, stress, kernel, block device, JVM, physical machine, AWS, Azure, and GCP faults.
- Kubernetes-native API: Chaos experiments are defined as custom resources and managed through the Kubernetes API using standard Kubernetes tooling and RBAC.
- Experiment orchestration:
Schedule,Workflow, andStatusCheckresources support recurring experiments, serial or parallel workflows, and application health checks. - Dashboard: create, manage, and inspect experiments, schedules, and workflows through a web UI and API.
- Multi-cluster execution: manage remote clusters and dispatch supported chaos experiments from a management cluster.
See the Chaos Mesh documentation for the behavior and configuration of each fault type.
Architecture
Chaos Mesh has three main runtime components:
- Chaos Controller Manager watches Chaos Mesh resources, validates requests through admission webhooks, schedules workflows and experiments, and coordinates injection and recovery.
- Chaos Daemon runs on Kubernetes nodes as a DaemonSet. It performs privileged node- and container-level operations for faults involving runtimes, processes, networks, filesystems, clocks, and kernels.
- Chaos Dashboard provides the HTTP API and web interface for managing and observing experiments. It is optional when experiments are managed directly through the Kubernetes API.
Users create or update Chaos Mesh resources through the Kubernetes API, either directly or through the Dashboard. The Controller Manager reconciles the desired state and delegates node-level operations to Chaos Daemon when required.
For implementation details, start with the controller architecture guide, command entry points, or Helm chart guide.
Get started
Prefer to try it without setting up a cluster? Run the interactive Killercoda playground in your browser: install Chaos Mesh on a real 2-node Kubernetes cluster, run PodChaos and NetworkChaos experiments, explore the Dashboard, and chain a Workflow - in about 20 minutes.
Contributing
Read CONTRIBUTING.md for the basic workflow and links to area-specific development guides. All contributors must follow the Code of Conduct.
Report security issues according to SECURITY.md.
Adopters
See ADOPTERS.
Blogs
Blogs on Chaos Mesh design & implementation, features, chaos engineering, community updates, etc. See Chaos Mesh Blogs. Here are some recommended ones for you to start with:
- Chaos Mesh 2.0: To a Chaos Engineering Ecology
- Chaos Mesh - Your Chaos Engineering Solution for System Resiliency on Kubernetes
- Run Your First Chaos Experiment in 10 Minutes
- How to Simulate I/O Faults at Runtime
- Simulating Clock Skew in K8s Without Affecting Other Containers on the Node
- Building an Automated Testing Framework Based on Chaos Mesh and Argo
Community
Please reach out for bugs, feature requests, and other issues via:
-
Following us on Twitter @chaos_mesh.
-
Joining the
#project-chaos-meshchannel in the CNCF Slack workspace. -
Filling an issue or opening a PR against this repository.
Community meetings
-
Chaos Mesh Community Monthly (Community and project-level updates, community sharing/demo, office hours)
- Time: on the fourth Thursday of every month (unless otherwise specified)
- RSVP here
- Meeting minutes
-
Chaos Mesh Development Meeting (Releases, roadmap/features/RFC planning and discussion, issue triage/discussion, etc)
- Time: Every other Tuesday (unless otherwise specified)
- RSVP here
- Meeting minutes
Community blogs
- Grant Tarrant-Fisher: Integrate your Reliability Toolkit with Your World
- Yoshinori Teraoka: Streake: Chaos Mesh によるカオスエンジニアリング
- Sébastien Prud'homme: Chaos Mesh : un générateur de chaos pour Kubernetes
- Craig Morten
- Ronak Banka: Getting Started with Chaos Mesh and Kubernetes
- kondoumh: Kubernetes ネイティブなカオスエンジニアリングツール Chaos Mesh を使ってみる
- Vadim Tkachenko: ChaosMesh to Create Chaos in Kubernetes
- Hui Zhang: How a Top Game Company Uses Chaos Engineering to Improve Testing
- Anurag Paliwal
- Pavan Kumar: Chaos Engineering in Kubernetes using Chaos Mesh
- Jessica Cherry: Test your Kubernetes experiments with an open source web interface
- λ.eranga: Chaos Engineering with Chaos Mesh
- Tomáš Kubica: Kubernetes prakticky: zlounství s Chaos Mesh a Azure Chaos Studio
- mend: Chaos Meshで何ができるのか見てみた
Community talks
- Twain Taylor: Chaos Mesh Simplifies & Organizes Chaos Engineering For Kubernetes
- Saiyam Pathak
Media coverage
- CodeZine: オープンソースのカオステストツール「Chaos Mesh 1.0」、一般提供を開始
- @IT atmarkit: Kubernetes 向けカオスエンジニアリングプラットフォーム「Chaos Mesh 1.0」が公開
- Publickey: Kubernetes の Pod やネットワークをわざと落としまくってカオスエンジニアリングのテストができる「Chaos Mesh」がバージョン 1.0 に到達
- InfoQ: Chaos Engineering on Kubernetes : Chaos Mesh Generally Available with v1.0
- TechGenix: Chaos Mesh Promises to Bring Order to Chaos Engineering
License
Chaos Mesh is licensed under the Apache License 2.0. See LICENSE.
Trademark
Chaos Mesh is a trademark of The Linux Foundation. All rights reserved.

