From 75dd2b50f0df98c53d0eb71c40fa823af0784cf9 Mon Sep 17 00:00:00 2001 From: Eugenio Marzo Date: Sun, 28 Mar 2021 11:46:40 +0200 Subject: [PATCH 1/2] Update README.md --- README.md | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 03153f0..5a3af4f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Alt Text](https://github.com/lucky-sideburn/KubeInvaders/blob/master/images/logo.png) -*Gamified chaos engineering and analysis tool for Kubernetes. It is like Space Invaders but the aliens are pods or worker nodes.* +*Gamified chaos engineering tool for Kubernetes. It is like Space Invaders but the aliens are pods or worker nodes.* ![Alt Text](https://github.com/lucky-sideburn/KubeInvaders/blob/master/images/kubeinvaders.png) @@ -22,12 +22,8 @@ Through KubeInvaders you can stress a Kubernetes cluster in a fun way and check ## New Version -KubeInvaders is going to be full open-source. Meanwhile it is possibile choose between 2 different versions. +KubeInvaders is now fully open-source. However, it is still possibile to use the legacy version made with Defold. -* Legacy version: Made using Defold as game engine. -* New version: It has been written in pure Javascript and it is totally open-source. - -The new version of KubeInvaders has fewer features than legacy but is optimized for chaos engineering because pods and nodes are rendered together and there is a shuffle functionality for better random experiments. ## Special Input Keys and features @@ -44,10 +40,13 @@ The new version of KubeInvaders has fewer features than legacy but is optimized | k | *(NEW)* Perform [kube-linter](https://github.com/stackrox/kube-linter) analysis for a pod. | Legacy | | w | *(NEW)* Chaos engineering against Kubernetes nodes. | New, Legacy | + ### Known problems * It seems that KubeInvaders does not work with EKS because of problems with ServiceAccount. Work in progress! + + ## Hands-on Tutorial To experience KubeInvaders in action, try it out in this free O'Reilly Katacoda scenario, [KubeInvaders](https://www.katacoda.com/kuber-ru/courses/kubernetes-chaos). @@ -81,7 +80,9 @@ Example of metrics ![Alt Text](https://github.com/lucky-sideburn/KubeInvaders/blob/master/images/grafana2.png) + ## Installation + ### Install to Kubernetes with Helm (v3+) ```bash @@ -92,12 +93,14 @@ kubectl create namespace kubeinvaders helm install kubeinvaders --set-string target_namespace="namespace1\,namespace2" \ -n kubeinvaders kubeinvaders/kubeinvaders --set ingress.hostName=kubeinvaders.io ``` + ### Install legacy version ```bash helm install kubeinvaders --set-string target_namespace="namespace1\,namespace2" \ -n kubeinvaders kubeinvaders/kubeinvaders --set ingress.hostName=kubeinvaders.io --set image.tag=legacy ``` + ### Security Notes In order to restrict the access to the Kubeinvaders endpoint add this annotation into the ingress. @@ -105,6 +108,7 @@ In order to restrict the access to the Kubeinvaders endpoint add this annotation ```yaml nginx.ingress.kubernetes.io/whitelist-source-range: /32 ``` + ### Install KubeInvaders on OpenShift To Install KubeInvaders on your OpenShift Cluster clone this repo and launch the following commands: @@ -132,14 +136,6 @@ KUBEINVADERS_SECRET=$(oc get secret -n kubeinvaders --field-selector=type==kuber oc process -f openshift/KubeInvaders.yaml -p ROUTE_HOST=$ROUTE_HOST -p TARGET_NAMESPACE=$TARGET_NAMESPACE -p KUBEINVADERS_SECRET=$KUBEINVADERS_SECRET | oc create -f - ``` -## Notes for large clusters - -For clusters with many workers-nodes, KubeInvaders (legacy version) selects a subset of random items. - -| Item | Max Number | -|-----------|--------------| -| Nodes | 15 | - ## Configuration From 86506b37a318934cee5b3094f71676863ff4d99c Mon Sep 17 00:00:00 2001 From: Eugenio Marzo Date: Mon, 29 Mar 2021 22:25:19 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a3af4f..6cbc3f4 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ # Table of Contents 1. [Description](#Description) -2. [New Version (game part in pure JS)](#new-version) +2. [New Version](#new-version) 3. [Special Input Keys and features](#Special-Input-Keys-and-features) 4. [Prometheus metrics and Grafana](#Metrics) 5. [Installation](#Installation)