khaos-monkey
khaos-monkey is a free, open-source Kubernetes utility that randomly terminates pods according to configured rules.
What khaos-monkey is
khaos-monkey is a free, open-source Kubernetes utility that randomly terminates pods according to configured rules. It supports killing a percentage of pods, a fixed count, or pods until a chosen number remain. Attack intervals and kill counts can be randomized, and experiments can be scheduled. Targeting can use selected namespaces or pods labeled `khaos-enabled: true`; `khaos-enabled: false` opts pods out. Namespaces can be blacklisted, with documented defaults of `kube-system`, `kube-public`, and `kube-node-lease`. Pods are grouped by ReplicaSet by default, while `khaos-group` labels define custom groups. Built in Rust with kube-rs, it can run locally with Cargo and a kubeconfig or as a Kubernetes Deployment using the listed container image. The installation example grants ClusterRole permissions to list and delete pods and namespaces. The project is self-hosted and positioned for smaller experimental clusters. Its page provides a README and issue tracker, without a stated support plan.
Good
- Percentage, fixed-count, and fixed-number-left modes
- Randomized attack intervals and kill counts
- Namespace and label-based targeting
- Blacklist support with documented defaults
- Free, open-source, and self-hosted
Watch out
- Requires Kubernetes permissions to list and delete
- Self-hosted deployment
- Positioned for smaller experimental clusters
Who it suits
khaos-monkey suits operators of smaller experimental Kubernetes clusters who need configurable pod-termination experiments and namespace controls.
Verdict
khaos-monkey provides focused pod-termination experiments with configurable blast-radius controls. Its self-hosted setup and required permissions deserve review before deployment.
The facts
Each one read from khaos-monkey's own pages, with the date it was checked.
What it does
- Built with
- The project says it is built in Rust using kube-rs.checked 9 Oct 2001
- Deployment
- The README describes deploying it as a Kubernetes Deployment using the dagandersen/khaos-monkey:latest container image, or running it locally with Cargo and kubeconfig.checked 9 Oct 2001
- Exclusions
- Pods labeled khaos-enabled: false opt out, and namespaces can be blacklisted.checked 9 Oct 2001
- Grouping
- Pods are grouped by ReplicaSet by default, and khaos-group labels can define custom groups.checked 9 Oct 2001
- Implementation
- The project is built in Rust using kube-rs.checked 9 Oct 2001
- Intended use
- The maker describes it as a lightweight, simple option that can suit smaller experimental clusters where more advanced tooling may be cumbersome or resource-intensive.checked 9 Oct 2001
- Kill modes
- It supports percentage, fixed-count, and fixed-number-left pod termination modes.checked 9 Oct 2001
- Local use
- The README says it can be run locally with Cargo and a kubeconfig before deployment to Kubernetes.checked 9 Oct 2001
- Modes
- It supports percentage of pods killed, a fixed number killed, or killing pods until a fixed number remain.checked 9 Oct 2001
- Namespace exclusions
- The CLI supports blacklisted namespaces; its documented defaults are `kube-system`, `kube-public`, and `kube-node-lease`.checked 9 Oct 2001
- Permissions
- The installation example grants a Kubernetes ClusterRole list and delete permissions for pods and namespaces.checked 9 Oct 2001
- Project positioning
- The README presents it as a simple, lightweight option for smaller experimental Kubernetes clusters and says more advanced tooling may suit mature infrastructure better.checked 9 Oct 2001
- Purpose
- khaos-monkey randomly terminates Kubernetes pods according to configured rules and modes.checked 9 Oct 2001
- Randomization
- Options can randomize the number of pods killed and add a random interval between attacks.checked 9 Oct 2001
- Scheduling
- Attack intervals and the number of pods killed can be randomized.checked 9 Oct 2001
- Support
- The opened project page provides its README and issue tracker; it does not state a support plan or response commitment.checked 9 Oct 2001
- Targeting
- It can target pods in selected namespaces or individual pods labeled khaos-enabled: true.checked 9 Oct 2001
Alternatives to khaos-monkey
- 1

FaultMesh
Free planWebAPISelf-hosted7.2From $49 a month - 2

Gremlin
WebAPILinuxSelf-hosted7.2From $3,750 a month - 3

Reliably
Free planWebLinuxmacOSSelf-hosted7.1From £40 a month - 4
Krkn
Free planWebAPILinuxSelf-hosted6.7Free plan - 5

Chaos Mesh
Free planWebAPISelf-hosted6.5Free plan - 6
Toxiproxy
Free planAPILinuxmacOSSelf-hosted6.5Free plan
