minikube

minikube: The Batteries-Included Option

minikube 14,561 (github.com/kubernetes/minikube (https://github.com/kubernetes/minikube 32,160 ), Apache-2.0, from SIG Cluster Lifecycle) is the oldest of the three and runs nodes as Docker 514 or Podman 47,580 containers or as virtual machines (KVM, Hyper-V, QEMU 34,579 , VirtualBox 4,691 and more); it needs 2 CPUs, 2 GB of memory and 20 GB of disk. Its hallmark is the addon catalog, 40 entries in 1.39.0 (ingress, registry, metrics-server 6,745 , headlamp, ...):

Installing minikube 1.39.0, starting a two-node cluster and listing its workloadsShell
curl -sLo minikube \
  https://storage.googleapis.com/minikube/releases/v1.39.0/minikube-linux-amd64
sudo install minikube /usr/local/bin/minikube && rm minikube
time minikube start -p l3-mk --driver=docker --nodes 2 --kubernetes-version=v1.37.0 \
  >/dev/null 2>&1
docker ps --filter name=l3-mk --format '{{.Names}}  {{.Image}}'
kubectl wait --for=condition=Ready nodes --all --timeout=300s >/dev/null
kubectl create deployment nginx --image=nginx:1.30-alpine --replicas=2 >/dev/null
kubectl rollout status deployment nginx >/dev/null
kubectl get deployments,daemonsets -A -o custom-columns=KIND:.kind,NAMESPACE:.metadata.namespace,\
NAME:.metadata.name
Output
real 1m39.971s
user 0m7.104s
sys 0m5.811s
l3-mk-m02  gcr.io/k8s-minikube/kicbase:v0.0.51
l3-mk  gcr.io/k8s-minikube/kicbase:v0.0.51
KIND         NAMESPACE     NAME
Deployment   default       nginx
Deployment   kube-system   coredns
DaemonSet    kube-system   kindnet
DaemonSet    kube-system   kube-proxy

The first start downloads the 1.89 GB kicbase image and a preload tarball; the time above is with both cached. The profile (-p l3-mk) names the containers, network and context. Multi-node minikube also uses kindnet, and each node is capped at about 3.9 GiB unless you pass --memory. minikube delete --all --purge removes everything.