k3s 51,195 (github.com/k3s-io/k3s (https://github.com/k3s-io/k3s 34,050 ), Apache-2.0, a CNCF sandbox project from Rancher 44,355 , now SUSE) is a certified distribution in one binary under 100 MB, for edge, IoT and CI. It keeps state in SQLite 4,756 by default and bundles containerd 234,762 , Flannel 9,549 , CoreDNS 366,312 , Traefik 27,315 , the ServiceLB load balancer, kube-router for NetworkPolicy, local-path-provisioner 2,940 and metrics-server 6,745 . k3d (github.com/k3d-io/k3d (https://github.com/k3d-io/k3d 6,570 ), MIT, a community project) runs k3s nodes as containers. k3d 5.9.0 defaults to k3s 1.35.5; --image selects 1.37.0:
time k3d cluster create l3-k3d --servers 1 --agents 1 --image rancher/k3s:v1.37.0-k3s1 \
--wait 2>&1 | tail -1
docker ps --filter name=k3d-l3-k3d --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.namekubectl cluster-info real 0m31.881s user 0m0.502s sys 0m2.283s k3d-l3-k3d-serverlb ghcr.io/k3d-io/k3d-proxy:5.9.0 k3d-l3-k3d-agent-0 rancher/k3s:v1.37.0-k3s1 k3d-l3-k3d-server-0 rancher/k3s:v1.37.0-k3s1 KIND NAMESPACE NAME Deployment default nginx Deployment kube-system coredns Deployment kube-system local-path-provisioner Deployment kube-system metrics-server
The third container, serverlb, proxies the API server and published ports. There are no control-plane Pods: k3s runs them inside one k3s server process. Traefik is still missing here because k3s's Helm 29,435 controller installs it a little later through one-off Jobs; in the benchmark run, a minute later, traefik, its svclb-traefik DaemonSet and the Gateway API CRDs were all present. Useful batteries, but a cluster unlike managed services.