This is an agent service which runs on each node and enables the slave to communicate with the master.
So, Kubelet works on the description of containers provided to it in the PodSpec and makes sure that the containers described in the PodSpec are healthy and running.
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
kubelet is a primary node-agent of the worker node, which interacts with both node and the container in the given worker node.
The kubelet is responsible for
Maintaining a set of pods, which are composed of one or more containers, on a local system.
For registering a node with a Kubernetes cluster, sending events and pod status, and reporting resource utilization.
Within a Kubernetes cluster, the kubelet watches for PodSpecs via the Kubernetes API server.
A PodSpec is a YAML or JSON object that describes a pod. The kubelet takes a set of PodSpecs that are provided through various mechanisms (primarily through the API server) and ensures that the containers described in those PodSpecs are running and healthy.
The Kubelet is the primary and most important controller in Kubernetes. It’s responsible for driving the container execution layer, typically Docker.
Agent running on node
b. Listen the k8s master (pod creation request)
c. Provide pod information to etcd via API Server
d. use port 10255
e. Send success / failure status to control plane