A Kubernetes cluster consists of a control plane, which decides and remembers the desired state (API server, etcd, scheduler, controllers), and worker nodes that run the containers via the kubelet. Controllers constantly compare the desired state with the actual state and correct the gap.