A Chaos Engineering Platform for Kubernetes.
Chaos Mesh is an open source cloud-native Chaos Engineering platform. It offers various types of fault simulation and has an enormous capability to orchestrate fault scenarios.
Using Chaos Mesh, you can conveniently simulate various abnormalities that might occur in reality during the development, testing, and production environments and find potential problems in the system. To lower the threshold for a Chaos Engineering project, Chaos Mesh provides you with a visualization operation. You can easily design your Chaos scenarios on the Web UI and monitor the status of Chaos experiments.
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. For details about who's involved and how Chaos Mesh plays a role, read the CNCF announcement.
At the current stage, Chaos Mesh has the following components:
See the following demo video for a quick view of Chaos Mesh:
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 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):
Quick start
See Chaos Mesh Docs.
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:
Contributing
See the contributing guide and development guide.
Community
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 meetings
Chaos Mesh Community Monthly (Community and project-level updates, community sharing/demo, office hours)
Chaos Mesh Development Meeting (Releases, roadmap/features/RFC planning and discussion, issue triage/discussion, etc)
FAQs
See FAQs.
Roadmap
See ROADMAP.
License
Chaos Mesh is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Trademark
Chaos Mesh is a trademark of The Linux Foundation. All rights reserved.
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.