Basic Features
Fault injection is the key of Chaos experiments. Chaos Mesh covers a full range of faults that might occur in a distributed system, and provides three comprehensive and fine-grained fault types: basic resource faults, platform faults, and application-layer faults.
- Basic resource faults:
- PodChaos: simulates Pod failures, such as Pod node restart, Pod’s persistent unavailablility, and certain container failures in a specific Pod.
- : simulates network failures, such as network latency, packet loss, packet disorder, and network partitions.
- HTTPChaos: simulates HTTP communication failures, such as HTTP communication latency.
- : simulates CPU race or memory race.
- IOChaos: simulates the I/O failure of an application file, such as I/O delays, read and write failures.
- : simulates the time jump exception.
- KernelChaos: simulates kernel failures, such as an exception of the application memory allocation.
- Platform faults:
- : simulates AWS platform failures, such as the AWS node restart.
- Application faults:
- JVMChaos: simulates JVM application failures, such as the function call delay.
A Chaos workflow includes a set of Chaos experiments and an application status check, so you can complete the entire process of a Chaos engineering project on the platform.
Currently, Chaos workflows provide the following features:
- Orchestrate serial Chaos experiments
- Orchestrate parallel Chaos experiments
- Support checking experimental status and results
- Support pausing a Chaos experiment
- Support using YAML files to define and manage Chaos workflows
For the configuration of a specific workflow, see .
Chaos Mesh manages permissions using the native RBAC feature in Kubernetes.
In addition, you can specify the namespaces that allow Chaos experiments by setting the namespace annotations, which further safeguards the control of Chaos experiments.