Awesome Open Source
Awesome Open Source

Build Status codecov LICENSE Language Go Report Card GoDoc FOSSA Status


This readme and related documentation are Work in Progress.

Chaos Mesh® is a Cloud Native Computing Foundation (CNCF) hosted project. It is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments. At the current stage, it has the following components:

  • Chaos Operator: the core component for chaos orchestration. Fully open sourced.
  • Chaos Dashboard: a Web UI for managing, designing, monitoring Chaos Experiments; under development.

See the following demo video for a quick view of Chaos Mesh:

Watch the video

Chaos Operator

Chaos Operator injects chaos into the applications and Kubernetes infrastructure in a manageable way, which provides easy, custom definitions for chaos experiments and automatic orchestration. There are three components at play:

Controller-manager: used to schedule and manage the lifecycle of CRD objects

Chaos-daemon: runs as daemonset with privileged system permissions over network, Cgroup, etc. for a specific node

Chaos Operator

Chaos Operator uses Custom Resource Definition (CRD) to define chaos objects. The current implementation supports a few types of CRD objects for fault injection, namely DNSChaos, PodChaos, PodIoChaos, PodNetworkChaos, NetworkChaos, IoChaos, TimeChaos, StressChaos, and KernelChaos, which correspond to the following major actions (experiments):

  • pod-kill: The selected pod is killed (ReplicaSet or something similar may be needed to ensure the pod will be restarted).
  • pod-failure: The selected pod will be unavailable in a specified period of time.
  • container-kill: The selected container is killed in the selected pod.
  • netem chaos: Network chaos such as delay, duplication, etc.
  • network-partition: Simulate network partition.
  • IO chaos: Simulate file system faults such as I/O delay, read/write errors, etc.
  • time chaos: The selected pod will be injected with clock skew.
  • cpu-burn: Simulate the CPU of the selected pod stress.
  • memory-burn: Simulate the memory of the selected pod stress.
  • kernel chaos: The selected pod will be injected with (slab, bio, etc) errors.
  • dns chaos: The selected pod will be injected with dns errors, such as error, random.

Quick start

Deploy and use

See Docs.




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:


See the contributing guide and development guide.


Please reach out for bugs, feature requests, and other issues via:

  • Following us on Twitter at @chaos_mesh.
  • Joining the #project-chaos-mesh channel in the CNCF Slack workspace.
  • Filing an issue or opening a PR against this repository.

Community meeting

On the fourth Thursday of every month (unless otherwise specified), the Chaos Mesh community holds a monthly meeting by video conference to discuss the status of Chaos Mesh.

Quick links:

Community blog

Media coverage


See FAQs.




Chaos Mesh is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

FOSSA Status


Chaos Mesh® is a trademark of The Linux Foundation. All rights reserved.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (14,148
hacktoberfest (4,237
golang (3,605
kubernetes (1,609
microservice (353
cloud-native (174
cncf (88
operator (77
chaos-engineering (28
chaos (24
site-reliability-engineering (16
crd (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories