KubeInvaders is a gamified chaos engineering tool for Kubernetes. It is like Space Invaders but the aliens are PODs
KubeInvaders has been developed using Defold (https://www.defold.com/).
Through KubeInvaders you can stress your Openshift cluster in a fun way and check how it is resilient.
# Please set target_namespace to set your target namespace!
helm install --set-string target_namespace="namespace1\,namespace2" --name kubeinvaders --namespace kubeinvaders ./helm-charts/kubeinvaders
Input | Action |
---|---|
n | Change namespace (you should define namespaces list. Ex: TARGET_NAMESPACE=foo1,foo2,foo3). |
a | Switch to automatic mode. |
m | Switch to manual mode. |
h | Show special keys. |
q | Hide help for special keys. |
i | Show pod's name. Move the ship towards an alien. |
Set the following variables in Kubernetes Deployment or Openshift DeploymentConfig
ENV Var | Description |
---|---|
ALIENPROXIMITY (default 15) | Reduce the value to increase distance between aliens |
HITSLIMIT (default 0) | Seconds of CPU time to wait before shooting |
UPDATETIME (default 1) | Seconds to wait before update PODs status (you can set also 0.x Es: 0.5) |
# Please set target_namespace to set your target namespace!
helm install --set-string target_namespace="namespace1\,namespace2" --name kubeinvaders --namespace kubeinvaders ./helm-charts/kubeinvaders
To Install KubeInvaders on your Openshift Cluster clone this repo and launch the following commands then provide the target namespace and cluster route path :
chmod +x install.sh
./install.sh
You can change the namespace within the KubeInvaders pod enviroment variables on OpenShift once setup. e.g jmeter,KubeInvaders
Based upon luck-sidburn's work here