Skip to content

Repository files navigation

Documentation Build License Docker Pulls Artifact Hub

kube-monkey

kube-monkey is an implementation of Netflix's Chaos Monkey for Kubernetes clusters. It randomly deletes pods in the cluster, encouraging and validating the development of failure-resilient services.

Apps opt in with a label, terminations happen during the hours and days you pick, and dry run is the default, so nothing dies until you say so.

📖 Documentation

Quick start

helm repo add kubemonkey https://asobti.github.io/kube-monkey/charts/repo
helm repo update
helm install kube-monkey kubemonkey/kube-monkey --namespace kube-system

Opt an app in by labelling it:

metadata:
  labels:
    kube-monkey/enabled: enabled
    kube-monkey/identifier: monkey-victim
    kube-monkey/mtbf: "2"

That is a kube-monkey in dry run mode and an app that expects to lose a pod on about one run day in two. See Getting started for the walk through, including how to watch a real termination before you trust it with a live namespace.

Documentation

Getting started From install to your first termination
How it works Scheduling time and termination time
Opting in to chaos The labels, and the kill modes
Configuration Every setting and its default
Helm chart Values and common installs
Metrics Prometheus endpoint
Notifications Post attacks to Slack or your own API

Contributing

See How to contribute. Join us at #kube-monkey on Kubernetes Slack.

License

Apache License v2.0 - see LICENSE for details.

About

An implementation of Netflix's Chaos Monkey for Kubernetes clusters

Topics

Resources

Code of conduct

Contributing

Stars

3.1k stars

Watchers

53 watching

Forks

Releases

Packages

Used by

Contributors

Languages