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, ...):
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.namereal 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.