In many deployments this is etcd although there are alternatives. It maintains the cluster configuration and state. The Control Plane node(s) query the KVDB to access the parameters for the state of the cluster, pods, nodes, etc…
The Control Plane component that runs the controller processes.
Example controllers:
Allows you to link your cluster to your cloud provider’s API. The Cloud Controller Manager only runs in the specific cloud provider environment. If you are running on-premesis this will not be deployed.
Example controllers:
Watches for requests from the API server and assigns them to nodes. It ranks the nodes based on their suitability and schedules the request according to the node best suited to handle it. These ranking take into consideration things like resource availability, affinity and anti-affinity rules, and policy constraints to name a few.
The Kubernetes agent running on every node. Kubelet is responsible for taking instructions from the API Server in the form of PodSpecs and making sure those PodSpecs are healthy and running.
Is responsible for maintaining the network rules on the nodes. It allows communication into and out of the cluster. It uses local operating system packet filtering if it is available otherwise it will forward the traffic itself.