Kubelet is not a control plane component, but it plays a key role in the operation of a Kubernetes cluster.
Kubelet is an agent that runs on every node in a Kubernetes cluster. It ensures that containers in pods are started and run according to their specifications. Kubelet continuously interacts with kube-apiserver to verify and maintain the state of nodes and containers. It is also responsible for starting control plane components.
Kubelet interactions
Kubelet interactions are shown in the architecture diagram of the control-plane-manager module.
Kubelet interacts with the following components:
- kubernetes-api-proxy: Proxies requests to kube-apiserver that are sent to the
localhostaddress. It is part of thecontrol-plane-managermodule. - kube-apiserver-healthcheck: Checks the health of kube-apiserver.
The following components interact with kubelet:
-
kube-apiserver:
- Retrieving pod logs (the
kubectl logscommand) - Executing commands in running pods (the
kubectl execcommand) - Port forwarding (the
kubectl port-forwardcommand)
- Retrieving pod logs (the
-
prometheus-main: Collects kubelet metrics.