Die nächste Ebene des Chaos Engineering ist hier! Töte Schoten in deinem Kubernetes -Cluster, indem du sie in Doom schieße!
Dies ist eine Gabel des exzellenten Gideonred/DockerDoomd, das ein leicht modifiziertes Schicksal unter https://github.com/gideonred/dockerdoom, der aus PSDOOM gegabelt wurde, gegabelt wurde.

Um vor Ort zu laufen
Führen Sie ghcr.io/storax/kubedoom:latest mit Docker lokal aus:
$ docker run -p5901:5900
--net=host
-v ~/.kube:/root/.kube
--rm -it --name kubedoom
ghcr.io/storax/kubedoom:latest Wenn Sie -e NAMESPACE={your namespace} festlegen, können Sie kubedom
Führen Sie ghcr.io/storax/kubedoom:latest mit Podman lokal aus:
$ podman run -it -p5901:5900/tcp
-v ~/.kube:/tmp/.kube --security-opt label=disable
--env "KUBECONFIG=/tmp/.kube/config" --name kubedoom
ghcr.io/storax/kubedoom:latest Starten Sie nun einen VNC -Betrachter und stellen Sie eine Verbindung zu localhost:5901 . Das Passwort ist idbehold :
$ vncviewer viewer localhost:5901 Sie sollten jetzt Doom sehen! Wenn Sie nun den Job schnell erledigen möchten, betreten Sie die Cheat idspispopd und gehen Sie rechts durch die Wand. Sie sollten von Ihren Schoten als kleine rosa Monster begrüßt werden. Drücken Sie CTRL zum Feuer. Wenn die Pistole nicht Ihr Ding ist, betrügen Sie mit idkfa und drücken Sie 5 für eine schöne Überraschung. Pause das Spiel mit ESC .
Kubedoom unterstützt jetzt auch das Töten von Namespaces, falls Sie zu viele davon haben. Stellen Sie einfach das Flag -mode -Flag auf namespaces ein:
$ docker run -p5901:5900
--net=host
-v ~/.kube:/root/.kube
--rm -it --name kubedoom
ghcr.io/storax/kubedoom:latest
-mode namespaces Siehe das Beispiel im /manifest -Verzeichnis. Sie können es schnell mit der Art testen. Erstellen Sie einen Cluster mit der Beispielkonfiguration aus diesem Repository:
$ kind create cluster --config kind-config.yaml
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.23.0) ?
✓ Preparing nodes ? ?
✓ Writing configuration
✓ Starting control-plane ?️
✓ Installing CNI ?
✓ Installing StorageClass ?
✓ Joining worker nodes ?
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Not sure what to do next? ? Check out https://kind.sigs.k8s.io/docs/user/quick-start/Dadurch wird ein 2 -Knoten -Cluster in Docker gedreht, wobei Port 5900 aus dem Arbeiterknoten ausgesetzt ist. Führen Sie dann Kubedoom im Cluster aus, indem Sie das in diesem Repository bereitgestellte Manifest anwenden:
$ kubectl apply -k manifest/
namespace/kubedoom created
deployment.apps/kubedoom created
serviceaccount/kubedoom created
clusterrolebinding.rbac.authorization.k8s.io/kubedoom createdUm den Lauf zu verbinden:
$ vncviewer viewer localhost:5900Kubedoom benötigt ein Servicekonto mit Berechtigungen, um alle Pods aufzulisten und sie zu löschen und Kubectl 1.23.2 zu verwenden.
Das Repository enthält eine DockerFile, um das Kubedoom -Bild zu erstellen. Sie müssen Ihre Systemarchitektur als TARGETARCH -Argument angeben. Zum Beispiel amd64 oder arm64 .
$ docker build --build-arg=TARGETARCH=amd64 -t kubedoom . Um das Standard-VNC-Kennwort zu ändern, verwenden Sie --build-arg=VNCPASSWORD=differentpw .