Must-Have Kubernetes Tools

These are some must-have tools that can make working with Kubernetes significantly easier! These are my favorite tools that I use regularly that improve my workflow, security and troubleshooting abilities.

kind

This tool is phenomenal at creating local Kubernetes environments that run in Docker images. This is significantly easier to use than Docker’s Kubernetes out of the box. It also appears to be more efficient and use fewer resources since it’s running within a Docker container. This is popular for testing Kubernetes environments and also used in Continous Integration (CI) pipelines.

Website: https://kind.sigs.k8s.io/

Creating a Cluster

Creating a cluster is very easy… Simply run this command below and *BOOM* you have a Kubernetes cluster running locally.

kind create cluster --name clustername

kubectx

Once you fully understand how contexts work in Kubernetes it’s time to take the easy path. I recommend using kubectx because it makes switching Kubernetes context extremely easy! Seriously! Type kubectx to display all of the local Kubernete’s contexts and then type `kubectx nameofcontext to switch to that context. That's far easier than typing kubectl set-context nameofcontext.

Website: GitHub: kubectx

kubens

Kubens which is also in the same source code repository for kubectx also functions similar but for Kubernetes Namespaces. This makes switching so unbeleivably easy. Now, if you really want to make your life easy create an alias to shorten the kubens to something shorter.

Website: GitHub: kubens

kail

“Kubernetes Tail”, also known as Kail is a log streaming tool for monitoring Kubernete’s logs. This can stream multiple logs from all matched pods. It’s easy to match a pod by service, replicaset or deployment.

Website: GitHub: kail

kube-shell

Kube-shell an interactive terminal shell specifically for interacting with a Kubernetes cluster. Some of the benefits include auto-completion.

Website: GitHub: kube-shell

krew

Krew is a package manager for kubectl plugins.

Website: GitHub: krew

kubectl-exec-as

This kubectl plugin allows you to execute containers as other users. Kubernetes out-of-the-box only allows for accessing pods/containers using the default user. This tool makes it easy to access a pod/container with a root user.

Website: GitHub: kubectl-plugins

krew install exec-as

praqma/network-multitool

While this isn’t necessarily a Kubernetes tool, this Docker image can be run to help troubleshoot issues. Packed with reliable networking testing tools like netcat, curl, wget, jq, git, netstat, nslookup and more; this image can be used to track down and solve issues within your Kubernetes cluster.

Website: Dockerhub: praqma/network-multitool

Deploying in Kubernetes

kubectl run nettool --image=praqma/network-multitool -it --restart=Never -- /bin/bash

TwistLock

TwistLock is a really cool DevSecOps tool that automatically scans Docker images for vulnerabilities. This is an enterprise grade tool that is capabile of being integrated into a CI Pipeline.

Website: PaloAlto: Prisma Cloud