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:latestTo 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
tcpdumpandtcptraceroute - DNS tools like
digandhostanddnstop jqfor 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.