kube-monkey
kube-monkey is a self-hosted Kubernetes tool that randomly deletes opted-in pods to help teams develop and validate services designed to handle failures.
What kube-monkey is
kube-monkey is a self-hosted Kubernetes tool that randomly deletes opted-in pods to help teams develop and validate services designed to handle failures. Applications opt in through Kubernetes labels, including an enabled label and settings such as an identifier and MTBF. Dry run is on by default, so planned terminations are logged rather than carried out. Users can set run days, schedule creation time, termination hours, timezone, and pod shutdown grace period. Deployments, StatefulSets, and DaemonSets are supported directly; other resource kinds can be configured as custom resources with matching RBAC. Namespace whitelists and blacklists limit eligible workloads, with kube-system excluded by default. The README includes Helm installation instructions for kube-monkey in kube-system. Documentation describes notifications to Slack or a user-provided API, plus a Prometheus metrics endpoint. Namespace pattern filtering requires cluster-wide workload list permission; a namespace-scoped Role installation will log an error and schedule nothing. kube-monkey is free and distributed under the Apache License 2.0.
Good
- Dry run logs planned terminations by default.
- Scheduling includes timezone and shutdown grace period.
- Namespace lists can constrain eligible workloads.
- Prometheus metrics endpoint is documented.
Watch out
- Namespace pattern filtering requires cluster-wide workload list permission.
- A namespace-scoped Role logs an error and schedules nothing.
- Cloud and network fault injection are not supported.
Who it suits
It suits Kubernetes teams that want to exercise failure resilience in opted-in workloads. Teams should account for its cluster-wide permission requirement when using namespace pattern filtering.
Verdict
kube-monkey offers configurable pod termination experiments for Kubernetes workloads, with dry run enabled by default. Its namespace pattern filtering has a specific permission requirement that administrators should plan for.
Plans and prices
From kube-monkey's own pricing page, checked 9 Oct 2001.
| Plan | Price | What it gives you |
|---|---|---|
| kube-monkey | Free | Open-source Kubernetes chaos tool · Apache License 2.0 |
The facts
Each one read from kube-monkey's own pages, with the date it was checked.
What it does
- Installation
- The README provides Helm installation instructions for deploying kube-monkey into the kube-system namespace.checked 9 Oct 2001
- License
- The repository is distributed under the Apache License 2.0.checked 9 Oct 2001
- Metrics
- The project documentation lists a Prometheus metrics endpoint.checked 9 Oct 2001
- Namespace controls
- A whitelist can restrict eligible namespaces, a blacklist can exclude namespaces, and the default blacklist includes kube-system.checked 9 Oct 2001
- Notable permission requirement
- Namespace pattern filtering requires cluster-wide workload list permission; a namespace-scoped Role installation will log an error and schedule nothing.checked 9 Oct 2001
- Notifications
- The project documentation describes notifications that can post attack events to Slack or a user-provided API.checked 9 Oct 2001
- Opt-in
- Applications opt in through Kubernetes labels, including an enabled label and settings such as an identifier and MTBF.checked 9 Oct 2001
- Purpose
- Implements Netflix’s Chaos Monkey for Kubernetes by randomly deleting pods to help develop and validate failure-resilient services.checked 9 Oct 2001
- Safe default
- Dry run is enabled by default and logs planned terminations instead of carrying them out.checked 9 Oct 2001
- Scheduling
- Users can configure run days, schedule creation time, termination hours, timezone, and pod shutdown grace period.checked 9 Oct 2001
- Support
- The README directs contributors to the Kubernetes Slack #kube-monkey channel and project contribution guidance.checked 9 Oct 2001
- Supported workloads
- The project covers Deployments, StatefulSets, and DaemonSets directly; other resource kinds can be configured as custom resources with matching RBAC.checked 9 Oct 2001
Alternatives to kube-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
