This post will be a work in progress, built from my own experiences as well as valuable insights and feedback from the community. Feel free to leave a comment and share what tools or techniques have made your day-to-day work easier!
Local K8s Environments
Minikube
Minikube is the most mature Kubernetes development tool that runs a single-node cluster inside a VM. It supports multiple hypervisors (VirtualBox, HyperKit, Hyper-V) and offers a dashboard out of the box. It's feature-rich with add-ons like ingress and storage classes, making it ideal for developers who want a production-like environment locally.Kind
Kind creates Kubernetes clusters by running nodes as Docker containers. It's designed for testing Kubernetes itself but works great for local development. Key advantages are its speed in creating clusters and low resource usage since it runs in containers instead of VMs. Perfect for CI/CD pipelines and testing Kubernetes manifests locally.K3s
K3s is a lightweight, production-ready Kubernetes distribution by Rancher. Unlike kind and minikube, it's not just for development - it's used in production, especially in edge and IoT scenarios. For development, it offers quick startup times and minimal resource usage (512MB RAM). It strips out legacy/alpha features and replaces etcd with SQLite for a smaller footprint.
Plugins
kubectx & kubens
kubectx - This plugin allows you to easily switch between Kubernetes contexts (clusters). This is especially useful if you work with multiple clusters.
kubens - a simple tool to quickly switch between namespaces in Kubernetes. If you manage multiple namespaces, kubens will save you time by streamlining the context-switching process.
githubkubetail
When troubleshooting microservices in a Kubernetes environment, it's often useful to see logs from multiple pods at once. kubetail simplifies this by allowing you to tail logs from multiple pods and containers simultaneously.
githubkube-ps1
If youโre constantly switching between Kubernetes clusters or contexts, kube-ps1 can be a game-changer. Itโs a shell prompt extension that displays the current Kubernetes context and namespace directly in your terminal prompt.
github
Observability
Lens
Lens is an incredibly popular IDE for Kubernetes, offering a powerful graphical interface to interact with clusters. It simplifies the complexity of managing multiple clusters and provides tools for monitoring, logging, and troubleshooting.
sitek9s
If you're more comfortable working from the terminal, k9s is a great tool. It provides a real-time, terminal-based UI for Kubernetes, allowing you to view logs, pods, services, and resources interactively.
github
Package Manager
- Helm Helm is widely used for deploying applications to Kubernetes through "charts" (pre-configured Kubernetes resources). It greatly simplifies managing Kubernetes resources and automates the deployment of complex applications. site
Terminal Setup
- Zsh + Oh My Zsh Zsh + Oh My Zsh (OMZ) is a powerful and highly customizable shell setup. Zsh is an advanced shell that enhances the default bash experience with features like better autocompletion, improved scripting, and a more user-friendly syntax. Oh My Zsh is a framework that simplifies the management of Zsh configurations by providing a large collection of plugins, themes, and additional features. It helps improve your terminal productivity with tools like autocompletion for Git, Docker, Kubernetes, and more, while also offering eye-catching themes and an easy-to-manage configuration system. github
Kubectl aliases
an amazing repo with all the aliaes you'll ever need
repo
Top comments (0)