The overview of the Kubernetes control plane (API server, controller manager, scheduler and etcd) in this article is completely incorrect. In reality, only API server connects to etcd and all other components talk to the API server to do their job.<p>For example, if the controller manager, by talking to the API server, finds out that the number of running pods is not equal to the number requested in a ReplicaSet, it will create new pods to satisfy that request. The scheduler will notice (through the API server) that these new pods are pending and will try to schedule them to a node. The Kubelet, running on that node and connected to the API server, then notices that it is supposed to run this new pod and starts it. All of this is based on reconcilation towards some desired state.