Skip to main content

Build Resilient Systems with Chaos Engineering

Chaos Mesh is a powerful, cloud-native platform that orchestrates chaos experiments on Kubernetes. Test your system’s resilience before failures happen in production.

Quick Start

Get Chaos Mesh running in your Kubernetes cluster in minutes

1

Install Chaos Mesh with Helm

Add the Chaos Mesh Helm repository and install the operator:
helm repo add chaos-mesh https://charts.chaos-mesh.org
kubectl create ns chaos-mesh
helm install chaos-mesh chaos-mesh/chaos-mesh -n chaos-mesh --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/containerd/containerd.sock
For Docker runtime, use --set chaosDaemon.runtime=docker --set chaosDaemon.socketPath=/var/run/docker.sock
2

Verify the installation

Check that all Chaos Mesh components are running:
kubectl get pods -n chaos-mesh
NAME                                        READY   STATUS    RESTARTS   AGE
chaos-controller-manager-xxx                3/3     Running   0          1m
chaos-daemon-xxx                            1/1     Running   0          1m
chaos-dashboard-xxx                         1/1     Running   0          1m
3

Create your first chaos experiment

Apply a simple PodChaos experiment to test pod failure:
apiVersion: chaos-mesh.org/v1alpha1
kind: PodChaos
metadata:
  name: pod-failure-example
  namespace: chaos-mesh
spec:
  action: pod-failure
  mode: one
  selector:
    namespaces:
      - default
    labelSelectors:
      "app": "my-app"
  duration: "30s"
Apply with kubectl apply -f podchaos.yaml and observe your system’s behavior.
4

Monitor with the Dashboard

Access the Chaos Dashboard to visualize and manage experiments:
kubectl port-forward -n chaos-mesh svc/chaos-dashboard 2333:2333
Visit http://localhost:2333 to see the web interface.

Explore Chaos Experiments

Choose from 14 different chaos experiment types to test your system

PodChaos

Simulate pod failures, kills, and container disruptions

NetworkChaos

Inject network delays, loss, corruption, and partitions

IOChaos

Simulate I/O delays, errors, and filesystem faults

StressChaos

Generate CPU and memory stress on pods

TimeChaos

Simulate clock skew to test time-dependent logic

KernelChaos

Inject kernel-level faults with BPF

HTTPChaos

Manipulate HTTP requests and responses

DNSChaos

Inject DNS errors and response manipulation

JVMChaos

Inject faults into JVM applications

Cloud Chaos

Test AWS, GCP, and Azure infrastructure failures

BlockChaos

Simulate block device failures

PhysicalMachine

Extend chaos to physical machines

Core Concepts

Understand how Chaos Mesh works under the hood

Architecture

Learn about the controller manager, daemon, and dashboard components

Components

Deep dive into each component’s role and responsibilities

Chaos Types Overview

Compare all available chaos experiment types

Selectors

Target specific pods with label, namespace, and field selectors

Ready to Build Resilient Systems?

Join thousands of engineers using Chaos Mesh to improve system reliability through chaos engineering.

Start Testing Now