This is the mainstream way to run Kubernetes "with Docker" on Ubuntu in 2026: containerd as the runtime (the same engine Docker uses under the hood), your Docker-built images running unchanged. Here's a clean kubeadm node bring-up on Ubuntu 24.04 (Noble) with the sharp edges called out.
Run everything below as root or with sudo. This sets up a single control-plane node; join workers with the kubeadm join command printed at the end.
1. Kernel prerequisites
Kubernetes needs bridged traffic to hit iptables and IP forwarding on:
cat <<'EOF' | sudo tee /etc/modules-load.d/k8s.conf






