Free ยท Lesson 2 of 12
kind, minikube, and Docker Desktop can each give you a cluster. They do not behave like a cloud load balancer.
Sign in to save your place.
Three practice harbours. kind builds the docks out of containers. minikube builds a small harbour with a driver you choose. Docker Desktop hides a harbour inside the Docker app. The boats are still Pods.
kind runs Kubernetes nodes as containers. It needs a container runtime such as Docker. kind create cluster is enough for a short-lived cluster. A Service of type LoadBalancer does not get a public address by itself.
minikube starts a local cluster. The driver depends on the operating system: Docker is common, and hypervisor drivers exist where the OS supports them. minikube tunnel is how a LoadBalancer Service gets an address, and that tunnel is not an AWS, Google, or Azure load balancer.
Docker Desktop can enable Kubernetes on macOS (Apple silicon and Intel), Windows, and Linux. The context name is often docker-desktop. The Kubernetes minor version is the one that Desktop release bundled. Read that release note. Turning Kubernetes on uses extra memory.
| Tool | Good for | Do not assume |
|---|---|---|
| kind | A disposable cluster and CI | LoadBalancer just works |
| minikube | A single-node cluster with addons | The tunnel is a cloud load balancer |
| Docker Desktop | A cluster next to other containers | The bundled minor never changes |
Install kubectl from the Kubernetes release matching the cluster you will talk to. The project documents a version skew policy: kubectl is supported only a small number of minor versions away from the API server. kubectl version shows both sides when the cluster is reachable.
kubectl config current-context tells you which cluster the next command will hit. If you have kind, minikube, and Desktop installed, the wrong context is the usual mistake.
kind's default networking does not enforce NetworkPolicy. A policy object will sit in the API and do nothing. The security lesson says how to practice that for real. Do not treat a successful kubectl apply as proof the policy is enforced.
Step 1 of 3kind: nodes are containers. Fast to delete. Weak stand-in for cloud load balancers.
Step 2 of 3minikube: one cluster, a driver, and an optional tunnel for LoadBalancer Services.
Step 3 of 3Docker Desktop: a checkbox on macOS, Windows, or Linux. Check which minor it installed.
Run the block that matches the tool you started. Then confirm the context before you apply anything else.
kind create cluster --name dfd-lab
kubectl config current-context
kubectl get nodes
# or: minikube start
# or: enable Kubernetes in Docker Desktop, then:
# kubectl config use-context docker-desktop
kubectl version
Checked against the linked documentation in October 2026. A later release can move a flag, a price, or a supported pair. Use the page for the version you installed.