FREEDOM251

Freedom251 › Chaos Engineering Platforms

kube-monkey

Free plan Self-hosted

Visit kube-monkey Alternatives Pricing

kube-monkey's own site

What kube-monkey is

kube-monkey is a self-hosted, open-source tool that randomly deletes Kubernetes pods to help develop and validate services designed to withstand failures. Applications opt in using Kubernetes labels, including an enabled label and settings such as an identifier and MTBF. Dry run is enabled by default, so the tool logs planned terminations rather than carrying them out. Users can configure run days, schedule creation time, termination hours, timezone, and the 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 can narrow eligible workloads, while blacklists can exclude namespaces; kube-system is included in the default blacklist. The README provides Helm installation instructions for deploying the tool into kube-system. Project documentation describes notifications to Slack or a user-provided API, as well as a Prometheus metrics endpoint. Namespace pattern filtering requires cluster-wide permission to list workloads; a namespace-scoped Role installation logs an error and schedules nothing. The project is distributed under the Apache License 2.0.

Who it suits

kube-monkey suits Kubernetes teams that want to exercise failure-resilience by scheduling pod termination experiments on workloads that opt in. It is intended for self-hosted deployments and offers namespace controls, dry run, and configurable scheduling.

What it does well

  • Free and distributed under the Apache License 2.0.
  • Dry run is enabled by default.
  • Supports Deployments, StatefulSets, and DaemonSets directly.
  • Scheduling settings include run days, timezone, and termination hours.
  • Namespace whitelists and blacklists control eligible workloads.
  • Documents Slack or API notifications and a Prometheus metrics endpoint.

What to know first

  • Self-hosted deployment requires an installation into Kubernetes.
  • Namespace pattern filtering requires cluster-wide workload list permission.
  • Does not provide cloud or network fault injection.

Limits

Dry run logs planned terminations instead of executing them by default. Namespace pattern filtering needs cluster-wide workload list permission; a namespace-scoped Role installation logs an error and schedules nothing.

Plans

PlanBilled and limitsPrice
kube-monkeyOpen-source Kubernetes chaos tool · Apache License 2.0Free

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Review the project README and contribution guidance on GitHub.
  2. Deploy kube-monkey into the kube-system namespace using the README's Helm instructions.
  3. Configure Kubernetes workloads to opt in through labels and settings such as an identifier and MTBF.
  4. Set run days, schedule creation time, termination hours, timezone, and pod shutdown grace period.
  5. Keep dry run enabled to log planned terminations, or configure the tool for actual terminations.
  6. Configure namespace controls and, if desired, notifications to Slack or a user-provided API.

Verdict

Choose kube-monkey if you need a free, self-hosted Kubernetes tool for scheduled pod-termination experiments with opt-in labels and namespace controls. Look elsewhere if you need cloud or network fault injection; also account for the cluster-wide permission requirement when using namespace pattern filtering.

Questions

Is kube-monkey free?

Yes. It is open source under the Apache License 2.0, and the listed plan is free.

How does kube-monkey select workloads?

Applications opt in through Kubernetes labels, including an enabled label and settings such as an identifier and MTBF. Namespace whitelists and blacklists can further control eligible workloads.

What workloads does it support?

Deployments, StatefulSets, and DaemonSets are supported directly. Other resource kinds can be configured as custom resources with matching RBAC.

How is kube-monkey installed?

The README provides Helm instructions for deploying it into the kube-system namespace.

Does kube-monkey perform network or cloud fault injection?

No. The listed capabilities say it does not provide network or cloud fault injection.

What permission does namespace pattern filtering need?

It requires cluster-wide workload list permission. A namespace-scoped Role installation logs an error and schedules nothing.

Facts from kube-monkey's own pages

Installation
The README provides Helm installation instructions for deploying kube-monkey into the kube-system namespace. · github.com, 9 Oct 2026
License
The repository is distributed under the Apache License 2.0. · github.com, 9 Oct 2026
Metrics
The project documentation lists a Prometheus metrics endpoint. · github.com, 9 Oct 2026
Namespace controls
A whitelist can restrict eligible namespaces, a blacklist can exclude namespaces, and the default blacklist includes kube-system. · asobti.github.io, 9 Oct 2026
Notable permission requirement
Namespace pattern filtering requires cluster-wide workload list permission; a namespace-scoped Role installation will log an error and schedule nothing. · asobti.github.io, 9 Oct 2026
Notifications
The project documentation describes notifications that can post attack events to Slack or a user-provided API. · github.com, 9 Oct 2026
Opt-in
Applications opt in through Kubernetes labels, including an enabled label and settings such as an identifier and MTBF. · github.com, 9 Oct 2026
Purpose
Implements Netflix’s Chaos Monkey for Kubernetes by randomly deleting pods to help develop and validate failure-resilient services. · github.com, 9 Oct 2026
Safe default
Dry run is enabled by default and logs planned terminations instead of carrying them out. · asobti.github.io, 9 Oct 2026
Scheduling
Users can configure run days, schedule creation time, termination hours, timezone, and pod shutdown grace period. · asobti.github.io, 9 Oct 2026
Support
The README directs contributors to the Kubernetes Slack #kube-monkey channel and project contribution guidance. · github.com, 9 Oct 2026
Supported workloads
The project covers Deployments, StatefulSets, and DaemonSets directly; other resource kinds can be configured as custom resources with matching RBAC. · asobti.github.io, 9 Oct 2026

Where kube-monkey stands on Freedom251

Look at these too