
kube-monkey v0.7.0
An implementation of Netflix's Chaos Monkey for Kubernetes clusters
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.
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.