SlideShare a Scribd company logo
Gamified Chaos Engineering Tool For Kubernetes
Eugenio Marzo - Service Manager & DevOps Engineer @ Sourcesense
● Quick introduction to this talk
● Why is important chaos engineering against Kubernetes
● What is Kubeinvaders
● How to install
● Configuration and input keys
● Arcade Mode
● Demo
Agenda
➢ I am not a game developer.
➢ Kubeinvaders is a game! Please do not take me seriously.
➢ Yes I know… with few lines of Bash the result is the same (but it is not
funny).
Things you should know to attend this talk
https://principlesofchaos.org
https://thenewstack.io/how-chaos-engineering-ca
n-drive-kubernetes-reliability/
Chaos Engineering is the discipline of experimenting
on a system in order to build confidence in the
system capability to withstand turbulent conditions in
production.
I love but this is a little bit boring...
This is better! But still boring...
… this is much better!
KubeInvaders - Chaos Engineering Tool for Kubernetes and Openshift
● It is a gamified Chaos Engineering tool for Kubernetes and Openshift
● Aliens are PODs of a Kubernetes cluster
● It is useful to test how resilient a cluster is, in a funny way
What is Kubeinvaders?
● Test how your K8S clusters are resilients on unexpected PODs deletions
● Collect metrics like PODs restart time
● Tuning readiness probes
Use cases
Pods are designed as relatively ephemeral, disposable entities. When a
Pod gets created (directly by you, or indirectly by a Controller), it is
scheduled to run on a Node in your cluster. The Pod remains on that
Node until the process is terminated, the pod object is deleted, the Pod
is evicted for lack of resources, or the Node fails.
https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/
People use Kubeinvaders for fun and demos...
Special Input Keys
Automatic pilot - key ‘a’
Manual pilot - key ‘m’ (default)
Get PODs name - key ‘i’
Help - key ‘h’
Jump between namespaces - key ‘n’
(my preferred feature…)
Install Kubeinvaders on Openshift
Kubeinvaders Cluster Role
Configure Kubeinvaders on Openshift
Arcade Mode - Make the game more difficult
it will be merged in the next release of Kubeinvaders and will
be shown during the demo
ENV Variable Default Value Description
ALIENPROXIMITY 15 Reduce the value to increase distance between aliens
HITSLIMIT 0 Seconds of CPU time to wait before shooting
UPDATETIME 0.3 Seconds to wait before update PODs status
How Kubeinvaders is made
Defold html5 Docker
build html 5
bundle
copy to image
with Ngnix
KubeInvaders runs as a pod in your cluster
POD
Network Flow
BrowserClient
Workstation
Openshift Router / Ingress
POD
Kubernetes
API Server
Kubeinvaders Dockerfile
My Lab Environment
HAProxy
Kubeinvaders and Prometheus
10.129.0.1 - - [21/Oct/2019:20:34:06 +0000] "DELETE
/kube/api/v1/namespaces/awesome-namespace/pods/test-1-c54h6 HTTP/1.1" 200 4320
"https://kubeinvaders.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36" "10.10.10.1"
Grok ExporterPOD
Black Box
Exporter
https://….
Demo!
Kubeinvaders Github repo
https://github.com/lucky-sideburn/KubeInvaders
We Are Hiring!
Check our website
www.sourcesense.com
or write to
recruitment@sourcesense.com
Thanks!
Thank you so much for you attention
www.sourcesense.com
MILAN ROME LONDON

More Related Content

KubeInvaders - Chaos Engineering Tool for Kubernetes and Openshift