K3s
K3s is a CNCF-certified, production-ready Kubernetes distribution packaged as a <100 MB binary — half the memory footprint of full k8s, ideal for edge, IoT, CI, and homelab clusters.
Source
What’s different
- Single launcher bundles containerd, Flannel CNI, CoreDNS, Traefik ingress, local-path storage, Helm controller, etc.
- Default datastore: SQLite (etcd, MySQL, Postgres also supported via Kine)
- Secure defaults; minimal OS deps (kernel + cgroups)
- Kubelet API exposed to control plane over websocket tunnel (no worker port exposure)
Quick install (server)
bash
curl -sfL https://get.k3s.io | sh -
sudo kubectl get nodes
# kubeconfig: /etc/rancher/k3s/k3s.yaml
# join token: /var/lib/rancher/k3s/server/node-tokenJoin agent
bash
curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -Netmaker / multi-cloud example
When nodes communicate over a WireGuard overlay (e.g. Netmaker nm-k3s interface), bind k3s to that IP:
bash
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --node-ip 10.11.11.2 --node-external-ip 10.11.11.2 --flannel-iface nm-k3s" sh -See Install K3s (Netmaker tutorial).