Kind
26/07/2025
Local Kubernetes Made Easy with Kind
When working on cloud-native applications, it’s critical to have a local Kubernetes environment for fast feedback and testing. That’s where Kind (Kubernetes IN Docker) comes in—a lightweight tool that lets you spin up a Kubernetes cluster in Docker, without needing a cloud provider or a heavy VM setup.

But setting up a local dev environment isn’t just about spinning up a cluster. You also need to install services, build and push Docker images, deploy Helm charts, and keep your code linted. Doing all of that manually is tedious and error-prone. To solve that, let’s walk through a powerful Makefile that automates this entire workflow.

Kind lets you run Kubernetes clusters using Docker container “nodes.” It's perfect for: - Local testing - CI environments - Experimenting with Kubernetes features - Developing against Kubernetes APIs Kind is especially great for fast setups and teardown, as everything lives in Docker containers, including the control plane.

I came across a great repository that makes it easy to install and experiment with some of the most essential Kubernetes tools—all within a Kind cluster. The project sets up a fully functional environment using Kind, Helm, Istio, Loki, and more, making it ideal for running end-to-end workflows or testing observability stacks locally. It's a perfect playground for developers who want to prototype, debug, or learn Kubernetes tools without relying on a cloud provider.
Here is the repo: https://github.com/teddy-ambona/kind-e2e
Makefile automates tasks for a local Kubernetes development environment using Kind, Helm, Docker, Python, and Node.js. Here’s a summary of its main targets: create-cluster: Runs a script to create a Kind Kubernetes cluster. helm-app: Installs or upgrades a Helm chart for the main app. helm-loki: Adds the Grafana Helm repo, updates it, builds Loki chart dependencies, and installs/upgrades Loki in the cluster. port-forward: Forwards local port 8080 to the Istio ingress gateway in the cluster. clean-up: Deletes the Kind cluster named demo-cluster. build-business-logic: Builds a Docker image for the Django backend and tags it for the local registry. build-front-end: Builds a Docker image for the Node.js frontend and tags it for the local registry. push: Pushes both Docker images to the local registry. flake8: Runs Python linting on the backend code using flake8. yamllint: Lints YAML files in the repo. pip-compile: Generates requirements.txt from pyproject.toml using pip-tools. npm-install: Installs Node.js dependencies for the frontend.
With tools like Kind and a well-structured Makefile, you can develop and test Kubernetes apps entirely on your laptop—no cloud provider required. This setup gives you the flexibility of Kubernetes, the speed of local development, and the sanity of automation. Want to give it a spin? Just clone the repo and follow the steps!
blog-photo