A Kubernetes 5,150 cluster has two halves: the control plane stores the desired state and makes decisions, and the nodes run the containers (How Nodes Run Containers). The control plane is four programs, which kind 14,561 runs as Pods on the control-plane node, started by the kubelet from manifest files on disk:
kubectl get pods -n kube-system -l tier=control-plane -o name
docker exec l3-booknest-control-plane ls /etc/kubernetes/manifestsOutput
pod/etcd-l3-booknest-control-plane pod/kube-apiserver-l3-booknest-control-plane pod/kube-controller-manager-l3-booknest-control-plane pod/kube-scheduler-l3-booknest-control-plane etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml
These are static Pods: the kubelet runs whatever it finds in /etc/kubernetes/manifests, which is how the control plane runs on Kubernetes before Kubernetes exists. kind builds nodes with kubeadm 5,150 , the upstream installer, so the layout matches a kubeadm cluster on real servers; managed services hide these Pods from you.
