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.
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 Go KoolKit with your pod:
kk <POD-NAME> golang <DEPLOYMENT-NAME>
The Go KoolKit contains the following Go utilities (available on $PATH
wherever applicable):
delve
- Delve is a debugger for the Go programming language.pprof
- pprof is a tool for visualization and analysis of profiling data.fzf
- fzf is a general-purpose command-line fuzzy finder.alp
- Talp is Access Log Profiler.go-callvis
- go-callvis is a development tool to help visualize call graph of a Go program using interactive view.gvm
- GVM provides an interface to manage Go versions.
In addition, it contains the following utilities on top of the official ubuntu:20.04
image:
bird
calicoctl
conntrack
ctop
curl
dhcping
dnsutils
fping
gdb
htop
httpie
iftop
iperf
iproute2
ipset
iptraf-ng
iputils-ping
ipvsadm
iredis
jq
ldnsutils
liboping-dev
linux-tools-common
maven
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
unzip
vim
websocat
wuzz
zip