GithubHelp home page GithubHelp logo

storax / kubedoom Goto Github PK

View Code? Open in Web Editor NEW
2.0K 23.0 129.0 1.59 MB

Kill Kubernetes pods by playing Id's DOOM!

License: GNU General Public License v3.0

Dockerfile 0.05% Makefile 13.20% M4 0.03% Roff 7.89% Shell 2.30% C 4.40% Python 1.05% C++ 69.86% Objective-C 1.03% AppleScript 0.06% Go 0.13%
doom kubernetes kubectl go golang c kind docker dockerfile pods

kubedoom's People

Contributors

axdoomer avatar cpressland avatar goshlanguage avatar storax avatar welshstew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kubedoom's Issues

Password

Would it make more sense for the password to be idbehold rather than 1234?

vnc viewer the connection was refused by the computer

I following your instruction and got this error message when connecting to vnc

image

log

WARNING: Published ports are discarded when using host network mode
2022/05/06 21:19:45 Create virtual display
2022/05/06 21:19:47 You can now connect to it with a VNC viewer at port 5900
2022/05/06 21:19:47 Trying to start DOOM ...
06/05/2022 21:19:47 -usepw: found /root/.vnc/passwd
06/05/2022 21:19:47 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 14
06/05/2022 21:19:47 Using X display :99
06/05/2022 21:19:47 rootwin: 0x50e reswin: 0x200001 dpy: 0x52212150
06/05/2022 21:19:47
06/05/2022 21:19:47 ------------------ USEFUL INFORMATION ------------------
                        psdoom 2012.02.05-1.6.0
Z_Init: Init zone memory allocation daemon.
zone memory: 0x7f86ea2c0010, 1000000 allocated for zone
DEH_Init: Init Dehacked support.
V_Init: allocate screens.
M_LoadDefaults: Load system defaults.
saving config in /root/.psdoom/default.cfg
W_Init: Init WADfiles.
 adding doom1.wad
===========================================================================
                            DOOM Shareware
===========================================================================
 psdoom is free software, covered by the GNU General Public
 License.  There is NO warranty; not even for MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. You are welcome to change and distribute
 copies under certain conditions. See the source for more information.
===========================================================================
M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon - [...................]
P_Init: Init Playloop state.
I_Init: Setting up machine state.
NET_Init: Init network subsystem.
S_Init: Setting up sound.
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
Error initializing SDL_mixer: No available audio device
Error initializing SDL_mixer:
D_CheckNetGame: Checking network game status.
startskill 0  deathmatch: 0  startmap: -3  startepisode: -3
player 1 of 1 (1 nodes)
Emulating the behavior of the 'Doom 1.9' executable.
HU_Init: Setting up heads up display.
ST_Init: Init status bar.
***** setup level: *****
06/05/2022 21:19:47 X DAMAGE available on display, using it for polling hints.
06/05/2022 21:19:47   To disable this behavior use: '-noxdamage'
06/05/2022 21:19:47
06/05/2022 21:19:47   Most compositing window managers like 'compiz' or 'beryl'
06/05/2022 21:19:47   cause X DAMAGE to fail, and so you may not see any screen
06/05/2022 21:19:47   updates via VNC.  Either disable 'compiz' (recommended) or
06/05/2022 21:19:47   supply the x11vnc '-noxdamage' command line option.
06/05/2022 21:19:47
06/05/2022 21:19:47 Wireframing: -wireframe mode is in effect for window moves.
06/05/2022 21:19:47   If this yields undesired behavior (poor response, painting
06/05/2022 21:19:47   errors, etc) it may be disabled:
06/05/2022 21:19:47    - use '-nowf' to disable wireframing completely.
06/05/2022 21:19:47    - use '-nowcr' to disable the Copy Rectangle after the
06/05/2022 21:19:47      moved window is released in the new position.
06/05/2022 21:19:47   Also see the -help entry for tuning parameters.
06/05/2022 21:19:47   You can press 3 Alt_L's (Left "Alt" key) in a row to
06/05/2022 21:19:47   repaint the screen, also see the -fixscreen option for
06/05/2022 21:19:47   periodic repaints.
06/05/2022 21:19:47   Note: '-scale' is on and this can cause more problems.
06/05/2022 21:19:47
06/05/2022 21:19:47 XFIXES available on display, resetting cursor mode
06/05/2022 21:19:47   to: '-cursor most'.
06/05/2022 21:19:47   to disable this behavior use: '-cursor arrow'
06/05/2022 21:19:47   or '-noxfixes'.
06/05/2022 21:19:47 using XFIXES for cursor drawing.
06/05/2022 21:19:47 GrabServer control via XTEST.
06/05/2022 21:19:47
06/05/2022 21:19:47 Scroll Detection: -scrollcopyrect mode is in effect to
06/05/2022 21:19:47   use RECORD extension to try to detect scrolling windows
06/05/2022 21:19:47   (induced by either user keystroke or mouse input).
06/05/2022 21:19:47   If this yields undesired behavior (poor response, painting
06/05/2022 21:19:47   errors, etc) it may be disabled via: '-noscr'
06/05/2022 21:19:47   Also see the -help entry for tuning parameters.
06/05/2022 21:19:47   You can press 3 Alt_L's (Left "Alt" key) in a row to
06/05/2022 21:19:47   repaint the screen, also see the -fixscreen option for
06/05/2022 21:19:47   periodic repaints.
06/05/2022 21:19:47   Note: '-scale' is on and this can cause more problems.
06/05/2022 21:19:47
06/05/2022 21:19:47 XKEYBOARD: number of keysyms per keycode 7 is greater
06/05/2022 21:19:47   than 4 and 51 keysyms are mapped above 4.
06/05/2022 21:19:47   Automatically switching to -xkb mode.
06/05/2022 21:19:47   If this makes the key mapping worse you can
06/05/2022 21:19:47   disable it with the "-noxkb" option.
06/05/2022 21:19:47   Also, remember "-remap DEAD" for accenting characters.
06/05/2022 21:19:47
06/05/2022 21:19:47 X FBPM extension not supported.
Xlib:  extension "DPMS" missing on display ":99".
06/05/2022 21:19:47 X display is not capable of DPMS.
06/05/2022 21:19:47 --------------------------------------------------------
06/05/2022 21:19:47
06/05/2022 21:19:47 Default visual ID: 0x21
06/05/2022 21:19:47 Read initial data from X display into framebuffer.
06/05/2022 21:19:47 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/2560
06/05/2022 21:19:47 scaling disabled for factor 1.000000 1.000000
06/05/2022 21:19:47
06/05/2022 21:19:47 X display :99 is 32bpp depth=24 true color
06/05/2022 21:19:47
06/05/2022 21:19:47 Autoprobing TCP port
06/05/2022 21:19:47 Autoprobing selected TCP port 5900
06/05/2022 21:19:47 Autoprobing TCP6 port
06/05/2022 21:19:47 Autoprobing selected TCP6 port 5900
06/05/2022 21:19:47 listen6: bind: Address already in use
06/05/2022 21:19:47 Not listening on IPv6 interface.
06/05/2022 21:19:47
06/05/2022 21:19:47 Xinerama is present and active (e.g. multi-head).
06/05/2022 21:19:47 Xinerama: number of sub-screens: 1
06/05/2022 21:19:47 Xinerama: no blackouts needed (only one sub-screen)
06/05/2022 21:19:47
06/05/2022 21:19:47 fb read rate: 711 MB/sec
06/05/2022 21:19:47 fast read: reset -wait  ms to: 10
06/05/2022 21:19:47 fast read: reset -defer ms to: 10
06/05/2022 21:19:47 The X server says there are 10 mouse buttons.
06/05/2022 21:19:47 screen setup finished.
06/05/2022 21:19:47

The VNC desktop is:      docker-desktop:0
PORT=5900

******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval.  It should work with any VNC viewer.  Try it by running:

    x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

Demon: kube-system/coredns-64897985d-qw5mm, 497607944
   process 497607944 [kube-system/coredns-64897985d-qw5mm] monster at 2120 -3440
Demon: kube-system/coredns-64897985d-v99xn, 501314175
   process 501314175 [kube-system/coredns-64897985d-v99xn] monster at 2400 -3400
Demon: kube-system/etcd-hello-chaos-control-plane, 1384471948
   process 1384471948 [kube-system/etcd-hello-chaos-control-plane] monster at 2280 -3280
Demon: kube-system/kindnet-rkvgb, 541805859
   process 541805859 [kube-system/kindnet-rkvgb] monster at 1920 -3240
Demon: kube-system/kube-apiserver-hello-chaos-control-plane, 2021037639
   process 2021037639 [kube-system/kube-apiserver-hello-chaos-control-plane] monster at 2080 -3240
Demon: kube-system/kube-controller-manager-hello-chaos-control-plane, 46684908
   process 46684908 [kube-system/kube-controller-manager-hello-chaos-control-plane] monster at 2280 -3280
      repositioned at 2250 -3310
      repositioned at 2280 -3310
      repositioned at 2310 -3310
      repositioned at 2250 -3280
      repositioned at 2310 -3280
      repositioned at 2250 -3250
      repositioned at 2280 -3250
      repositioned at 2310 -3250
      repositioned at 2220 -3340
Demon: kube-system/kube-proxy-q49r8, 47422376
   process 47422376 [kube-system/kube-proxy-q49r8] monster at 2120 -3360
Demon: kube-system/kube-scheduler-hello-chaos-control-plane, 329082471
   process 329082471 [kube-system/kube-scheduler-hello-chaos-control-plane] monster at 2080 -3560
Demon: local-path-storage/local-path-provisioner-5ddd94ff66-mxgjf, 1928666377
   process 1928666377 [local-path-storage/local-path-provisioner-5ddd94ff66-mxgjf] monster at 2160 -3320
      repositioned at 2130 -3350
      repositioned at 2160 -3350
      repositioned at 2190 -3350
      repositioned at 2130 -3320
      repositioned at 2190 -3320
      repositioned at 2130 -3290
      repositioned at 2160 -3290
I_InitGraphics: 8bpp color depth not supported.
I_InitGraphics: 320x200 mode not supported on this machine.
I_InitGraphics: Auto-adjusted to 640x480x32bpp.
NOTE: Your video settings have been adjusted.  To disable this behavior,
set autoadjust_video_settings to 0 in your configuration file.
I_InitStretchTables: Generating lookup tables....
***** game ticker: *****
Demon: kube-system/coredns-64897985d-qw5mm, 497607944
Demon: kube-system/coredns-64897985d-v99xn, 501314175
Demon: kube-system/etcd-hello-chaos-control-plane, 1384471948
Demon: kube-system/kindnet-rkvgb, 541805859
Demon: kube-system/kube-apiserver-hello-chaos-control-plane, 2021037639
Demon: kube-system/kube-controller-manager-hello-chaos-control-plane, 46684908
Demon: kube-system/kube-proxy-q49r8, 47422376
Demon: kube-system/kube-scheduler-hello-chaos-control-plane, 329082471
Demon: local-path-storage/local-path-provisioner-5ddd94ff66-mxgjf, 1928666377

VNC Client: RealVNC 6.22.315

Custom authenticators (e.g. aws-iam-authenticator)

Here's an exerpt of my ~/.kube/config

users:
- name: user1
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - cluster-name.example.com
      - --forward-session-name
      command: aws-iam-authenticator
      env: null

This will call a system command (in my case it's in /usr/local/bin/aws-iam-authenticator) to use my existing AWS credentials to authenticate me into kubernetes.

What is the recommended way to provide this authenticator into kubedoom?

Kubedoom kills itself

Hello, I've run your Tool inside a Minikube Cluster and I'm quite happy with it, it's a very fun way to show people Chaos Engineering on a lower, funnier level than just simple code.

It just appears to me that sometimes, I kill the kubedoom Pod itself. Is it possible to prevent spawning a Demon in Doom that stands for the Kubedoom-Pod?

Or is it even possible to exclude more Pods (like from kubesystem namespace) from being spawned in kubedoom?

Anyway, thank you for keeping the project up and running!

issue with VNC

got this issue

Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval. It should work with any VNC viewer. Try it by running:

x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

Kube Doom in own Kube cluster

Hi,
I would use your repo in my own kube cluster. So I just use files in manifest directory and create service file and ingress. It does'nt work, should I add in my kube config :
extraPortMappings:

  • containerPort: 5900
    hostPort: 5900
    listenAddress: "127.0.0.1"

Best regards,
Rémi

filter or exclude ns

I have some ns that I do not want to be touched, because the pods take a long time to upload, so I want to filter them or exclude them

Delete namespace instead of pods

Hi.
We have a DEV cluster with more of 2500 namespace, we want use this tool to delete them with the Thanos philosophy.
How can we set this option?
Thanks and regards.

GitHub Actions and native ARM64 Support

@storax would a pull request be welcome to add arm64 and GitHub Actions + GitHub Packages support?

I'll be doing a Chaos Engineering demo soon, the plan is to use Kube, Kubedoom, Buoyant Cloud, Linkerd, etc to show service resilience during turbulent operation. arm64 support is pretty critical for this as I use an arm MacBook as my primary workstation.

I have modified the Dockerfile locally to enable this to mostly work alongside a few quality of life improvements, adding GitHub Actions just makes this easier and quicker to build.

Kill only pods in a specific namespace

This project is frankly brilliant, and I would love to use it, but unfortunately our cluster has so many pods that you get absolutely flooded in enemies... It would be nice to be able to narrow down the scope to only target pods in a single namespace.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.