githubEdit

Chaos Mesh

Chaos Mesh

Introduction

Chaos Mesh is a CNCF incubating project that provides a cloud-native chaos engineering platform for Kubernetes. It enables engineers to simulate various fault scenarios (network failures, pod crashes, I/O delays, kernel faults) in a controlled manner to verify system resilience. Chaos Mesh uses CRDs to define chaos experiments, making it easy to integrate into GitOps workflows and CI/CD pipelines.

Key Features

  • Kubernetes-Native: All experiments are defined as CRDs and managed by Kubernetes controllers

  • Rich Fault Types: Pod, network, I/O, stress, time, kernel, DNS, HTTP, and JVM faults

  • Dashboard UI: Web-based interface for creating and monitoring experiments

  • Workflow Engine: Orchestrate multi-step chaos experiments with serial, parallel, and conditional execution

  • RBAC Integration: Fine-grained access control through Kubernetes RBAC

  • Namespace Scoping: Restrict chaos experiments to specific namespaces for safety

Installation

# Add Chaos Mesh Helm repo
helm repo add chaos-mesh https://charts.chaos-mesh.org
helm repo update

# Install Chaos Mesh
helm install chaos-mesh chaos-mesh/chaos-mesh \
  -n chaos-mesh --create-namespace \
  --set chaosDaemon.runtime=containerd \
  --set chaosDaemon.socketPath=/run/containerd/containerd.sock

Experiment Types

PodChaos

Simulate pod failures such as pod kill, pod failure, or container kill:

NetworkChaos

Inject network faults like delay, loss, duplication, or partition:

StressChaos

Apply CPU or memory stress to containers:

Workflow

Chaos Mesh supports orchestrating multiple experiments in a workflow:

Reference:

Last updated