Skip to content
Switch branches/tags

Latest commit

* update cherry-pick options in pr template

Signed-off-by: xixi <>

* add poli

Signed-off-by: xixi <>

* remove poloi

Signed-off-by: xixi <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Chaos Mesh Logo

Upload Image codecov LICENSE Language Go Report Card GoDoc FOSSA Status CII Best Practices


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.

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 CustomResourceDefinition (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

See Chaos Mesh 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 @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 blogs

Community talks

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.