Skip to content

Tool Suite

A personal list of favourite tools to use and consider when working in the kubernetes ecosystem

Essentials

Install these on your laptop for basically every day use, development, testing, debugging, etc

Name Description Links
kubectl K8 API Tool
helm Manifest packaging system
minikube Local cluster environment service

CLI Addons

May be part of the essentials, but not necessary. Would not recommend if wanting to study for the CKA or CKD as you won't have these and they will make you lazy

Name Description Links
kubectx Single command context switcher https://github.com/ahmetb/kubectx
kubens Single command namespace switcher (bundled with kubectx) https://github.com/ahmetb/kubectx

Cluster Management

Tools for making cluster wide changes

Name Description Links
kube-ops-view Terminal view of cluster activity
kubespray Setup Production ready clusters https://github.com/kubernetes-sigs/kubespray/tree/master
kubeadm Cluster Administration. CRUD nodes, etc. Does not create clusters

Validation / Linting

Tools for validating / verifying your Kubernetes manifests, helm charts, etc

Name Description Links
kubeval Validate your kubernetes config files. Note: No longer maintained - kubeconform seems to be the replacement
tflint Linting and validation for your Terraform. Includes plugins for cloud providers so it can validate things such as instance types and cloud specific configurations https://github.com/terraform-linters/tflint

Security

Security scanners and tools

Name Description Links
trivy Works as a CLI tool but also can be installed as an operator in the cluster. Has a handful of scanning tools
kube-bench CLI scanning tool to validate your cluster against CIS standard. Is integrated into trivy as well. https://github.com/aquasecurity/kube-bench

CI/CD Tools

Name Description Links
ArgoCD Suite of CD tools including - ArgoCD, ArgoRollouts, ArgoWorkflows and ArgoEvents
Flux Is a direct competitor with ArgoCD, however its not as actively maintained and the user base is more in favor of ArgoCD
Keel A very simplified ArgoCD-like service. Uses annotations on Deployments to configure and track registry container changes and apply updates
Jenkins The defacto CI tool. Java, large and clunky, but does do everything. Works well when linked with pipelines via Jenkinsfiles, and use ECS for spawning worker nodes https://keel.sh/
Drone Similar to Concourse, but appears even simpler. Has quite a bit of integration with Digital Ocean, Gitea, Github, Bitbucket etc. Looks very small and written all in go https://www.drone.io/
Concourse A self-hosted like CircleCI or Github Actions tool. Simple YAML based with container environments for building and deploying services. Doesn't have much best practices or abilities to handle running at scale (common libs)

Local Development K8 Tools

A number of tools for building clusters on your local machine. These are alternatives to minikube

Name Description Links
kind Builds k8 clusters all within docker. More designed for testing k8 then actually developing ontop of
micro-k8s Made specifically to work with Canonical / Snap / Ubuntu. Working elsewhere is not available. Working with Snap, except for simple use cases between user <-> service, sucks in general
k3s A mostly production ready k8 but slimmed down to run on fewer resources. TrueNAS uses this under the hood for self hosting service management. Have been told though working with it can create more verbose typing as all the tools are wrapped within the k3s CLI binary (ex: to use kubectl you can't configure and point kubectl to your k3s cluster, you have to go k3s kubectl)