- Namespaces provide isolation for resources and help organize microservices per team or unit.
- Using a local kind cluster lets you iterate quickly without cloud costs while maintaining a realistic Kubernetes environment.
Prerequisites
- Docker — make sure Docker Desktop or Docker Engine is running.
- kind — used to create local clusters.
- kubectl — Kubernetes CLI to manage cluster resources.
- Helm — for later deployments and package management.
If you’re on macOS or Windows, ensure Docker Desktop is up-to-date and running before creating the kind cluster. On Linux, confirm Docker daemon is running (e.g.
systemctl status docker).- Check Docker is running:
- Confirm kind is installed:
- Verify kubectl client:
- Verify Helm (optional for later):
finops-cluster:
- After kind creates a cluster, it sets a kubectl context (e.g.
kind-finops-cluster). Usekubectl config get-contextsto list available contexts andkubectl config use-context <context>to switch when needed.
- Built-in namespaces: Kubernetes creates
default,kube-system, andkube-publicautomatically. - If kind cluster creation fails:
- Ensure Docker is running and has enough resources (CPU/memory).
- Verify no conflicting ports or existing clusters with the same name.
- Consult kind’s docs: https://kind.sigs.k8s.io/
If you see permission or networking errors during cluster creation, restart Docker and retry. On macOS and Windows, enabling virtualization in system settings may be required.
- kind: https://kind.sigs.k8s.io/
- kubectl docs: https://kubernetes.io/docs/reference/kubectl/overview/
- Docker: https://docs.docker.com/get-started/
- Helm: https://helm.sh/