Gamified chaos engineering tool for Kubernetes. It is like Space Invaders but the aliens are pods or worker nodes.
Through KubeInvaders you can stress a Kubernetes cluster in a fun way and check how it is resilient.
Just released the version v1.8. How is "Replicas State Delay" of your cluster? Just play and watch metrics.
helm repo add kubeinvaders https://lucky-sideburn.github.io/helm-charts/
kubectl create namespace kubeinvaders
helm install kubeinvaders --set-string target_namespace="namespace1\,namespace2" \
-n kubeinvaders kubeinvaders/kubeinvaders --set ingress.hostName=kubeinvaders.io --set image.tag=v1.7
- It seems that KubeInvaders does not work with EKS because of problems with ServiceAccount. Work in progress!
To experience KubeInvaders in action, try it out in this free O'Reilly Katacoda scenario, KubeInvaders.
KubeInvaders exposes metrics for Prometheus through the standard endpoint /metrics
This is an example of Prometheus configuration
scrape_configs:
- job_name: kubeinvaders
static_configs:
- targets:
- kubeinvaders.kubeinvaders.svc.cluster.local:8080
Example of metrics
Metric | Description |
---|---|
chaos_jobs_node_count{node=workernode01} | Total number of chaos jobs executed per node |
chaos_node_jobs_total | Total number of chaos jobs executed against all worker nodes |
deleted_pods_total 16 | Total number of deleted pods |
deleted_namespace_pods_count{namespace=myawesomenamespace} | Total number of deleted pods per namespace |
In order to restrict the access to the Kubeinvaders endpoint add this annotation into the ingress.
nginx.ingress.kubernetes.io/whitelist-source-range: <your_ip>/32