Simple docker image to deploy as a Pod or Daemonset in Kubernetes for interactive sessions
To build and push docker image:
docker build -t jonmoter/kube-shell:latest .
docker push jonmoter/kube-shell:latest
To get an exhaustive list of everything in the image, read the Dockerfile
. Here are
some highlights of what's present:
curl
, of course- httpie, a prettier version of curl
- grpcurl, like curl for gRPC
- httpstat, which displays HTTP connection timing info
- hey, an HTTP load generator
- TCP tools like
tcpdump
andtcptraceroute
- DNS tools like
dig
andhost
anddnstop
jq
for JSON wrangling
kubectl
is not installed by default, because it's a pretty large binary.
But there's an install_kubectl
script that can be used to download it if you need it.
There's a minimal golang server that runs and listens on port 4242. You can use that
if you want to run this docker imagine in a Kubernetes cluster and you want something
you can send HTTP requests to. The binary is /usr/local/bin/truthserver
There's a DaemonSet definition in the kubernetes
subdirectory. You can use that to
run an instance of kube-shell
on each node in your cluster. That can be handy if you
want to try sending a request from a particular node or AZ.