CNCF CNCF CNCF Sandbox Project

Unleash Chaos.
Ensure Resilience.

Krkn is a powerful chaos and resiliency testing tool for Kubernetes. Inject deliberate failures into your clusters to validate they can withstand turbulent conditions.

Why Krkn?

Lightweight, runs outside the cluster. Cloud + Kubernetes scenarios. Performance metrics during chaos. Post-scenario alert checks.

Learn More
terminal
$ krknctl list available
$ krknctl run pod-scenarios --kubeconfig ~/.kube/config
 Scenario completed successfully
 All pods recovered within SLA

Built for Resilience

Everything you need to chaos-test your Kubernetes infrastructure with confidence.

Cerberus Monitoring

Monitors cluster health in real-time, providing go/no-go signals during chaos tests.

Post-Run Alerts

Automated alert checks after chaos scenarios to verify system resilience.

Chaos Recommender

Profiles your app's CPU, memory, and network usage to recommend the chaos scenarios most likely to cause failures.

krknctl CLI

Simple CLI tool to discover, run, and orchestrate chaos scenarios without complexity.

Krkn AI

Autonomously generates and refines chaos experiments, using SLOs and fitness functions to find high-impact scenarios.

Safe Rollbacks

Versioned rollback system writes recovery state to disk before changes — automatically restores your cluster if chaos goes wrong.

SLO Validation

Define pass/fail criteria with Prometheus PromQL queries. Validate alert profiles and performance metrics during and after chaos.

Telemetry & Observability

Collects run metadata, recovery times, and Prometheus backups. Ships data to S3 or Elasticsearch for long-term analysis.

Get Started in Minutes

From install to insights — four steps to production-grade chaos testing.

1

Install

Download the krknctl binary from GitHub releases — available for Linux, macOS, and Windows.

# Download from GitHub releases $ tar -xzf krknctl_*.tar.gz $ mv krknctl /usr/local/bin/ krknctl ready
2

Configure

Point to your kubeconfig and optionally connect Cerberus for live health monitoring.

$ krknctl list available pod-scenarios container-scenarios node-scenarios network-chaos zone-outages time-scenarios ...
3

Run Chaos

Pick a scenario and fire. Rollback state is saved automatically — your cluster is always recoverable.

$ krknctl run pod-scenarios \ --kubeconfig ~/.kube/config Scenario completed in 47s All 12 pods recovered
4

Analyze

Review SLO pass/fail, Prometheus metrics, and alerts. Ship telemetry to S3 or Elasticsearch.

PASS api_latency_p99 < 500ms PASS error_rate < 0.1% PASS pod_recovery < 30s

20+ Chaos Scenarios

Battle-tested failure injection across every layer of your Kubernetes stack.

Krkn AI

Krkn AI surfaces the failures you didn't know to look for

Krkn AI scans your cluster, generates chaos experiments, and runs them — learning from each round what hits hardest. Define your SLOs once. It handles the rest: picking scenarios, combining attacks, and surfacing the failures that matter before production does.

  • Scans your cluster automatically — discovers namespaces, pods, nodes, services without manual config
  • Learns what breaks things — each round gets smarter, combining and tweaking scenarios for maximum impact
  • Validates against your SLOs — pass/fail tied to the Prometheus metrics you already care about
  • Runs hands-off — set it up once, come back to a ranked list of your cluster's weakest points
krkn-ai
$ uv run krkn_ai discover -k ~/.kube/config -n "robot-.*,etcd" -o ./krkn-ai.yaml Discovered 24 pods, 8 services, 6 nodes Config saved to krkn-ai.yaml $ uv run krkn_ai run -c ./krkn-ai.yaml -o ./results/ ╭─ Generation 1/20 ──────────────────────╮ Population: 10 samples Running: pod-disruption on cart-7cd6c Fitness: 0.82 ← restart count ↑ Health: /cart 200 /catalogue 503 ╰────────────────────────────────────────╯ ╭─ Generation 5/20 ──────────────────────╮ Evolved via crossover + mutation Running: node-drain + net-chaos Fitness: 0.94 ← critical path found Health: /cart 503 /catalogue 503 ╰────────────────────────────────────────╯ Top scenario: node-drain + net-chaos (fitness: 0.94) Results saved to ./results/

Ready to Break Things?

Start chaos testing your Kubernetes clusters today.

$ krknctl run pod-scenarios --kubeconfig ~/.kube/config