Installing Kubernetes with kubeadm

kubeadm tutorials mostly cover the happy path: run kubeadm init, apply a CNI manifest, run kubeadm join. That sequence works until something goes wrong. On the CKA exam, something always goes wrong. You'll encounter nodes stuck in NotReady, pods that never leave Pending, a kubelet that crashes seconds after starting. Knowing what kubeadm does under the hood, and where it stops, is what separates a clean bootstrap from an hour of frustrated journalctl scrolling.
Here's the scope of what kubeadm does: it generates a PKI (11 certs and keys), writes static pod manifests for kube-apiserver, kube-controller-manager, kube-scheduler, and etcd, uploads its config to a kubeadm-config ConfigMap in kube-system, and installs CoreDNS and kube-proxy. What it does NOT do: configure kernel modules, set sysctl parameters, install a container runtime, or install a CNI plugin. Those gaps are exactly where installs fail.
Sign in to access this lesson
Create a free account or sign in to enroll in the CKA — Certified Kubernetes Administrator course and access all 63 lessons.
CKA — Certified Kubernetes Administrator
63 lessons