KoolKits (Kubernetes toolkits) are language-specific container images, that contain a (highly-opinionated) set of tools for debugging applications running in Kubernetes pods. You can read more about KoolKits here or learn about the motivation behind this project here.
Using the Node.js KoolKit you can spin up 0x
for fancy flamegraphs or ndb
for debugging your app your Kubernetes pods without any configuration or extra setup.
To get started, first add the shorthand kk
command to your shell by pasting the following snippet into your shell:
echo "## KoolKits - Shorthand
kk() {
kubectl debug -it $1 --image=lightruncom/koolkits:$2 --image-pull-policy=Never --target=$3
}" >> ~/.bashrc
source ~/.bashrc
Then run the Node.js KoolKit with your pod:
kk <POD-NAME> node <DEPLOYMENT-NAME>
The Node.js KoolKit contains the following Node utilities (available on $PATH
wherever applicable):
nvm
- A Node version manager, with Node 16.13.2 installed as the default Node version.ndb
- An improved debugging experience for Node.js, enabled by Chrome DevTools.0x
- Single-command flamegraph profiling.vtop
- A graphical activity monitor for the command line.top
, but better.whistle
- A cross-platform web debugging tool based on Node.js (mostly a debugging proxy).
In addition, it contains the following utilities on top of the official ubuntu:20.04
image:
bird
conntrack
calicoctl
ctop
curl
dhcping
dnsutils
fping
gdb
git
htop
httpie
iftop
iperf
ipset
iptraf-ng
iproute2
iputils-ping
ipvsadm
jq
ldnsutils
liboping-dev
linux-tools-common
mongo
mtr
mycli
mysql-client
netcat
netgen
nftables
ngrep
nmap
pgcli
postgresql-client
redis-tools
scapy
socat
software-properties-common
strace
tcpdump
tcptraceroute
termshark
tmux
tshark
vim
websocat
wuzz