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.
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.
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
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 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
“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 an interactive terminal shell specifically for interacting with a Kubernetes cluster. Some of the benefits include auto-completion.
Website: GitHub: kube-shell
Krew is a package manager for kubectl plugins.
Website: GitHub: krew
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
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 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