Node components run on every node, maintaining running pods and providing the Kubernetes runtime environment.
kubelet
-
An agent that runs on each node in the cluster. It makes sure that containers are running in a pod.
-
The kubelet takes a set of PodSpecs that are provided through various mechanisms and ensures that the containers described in those PodSpecs are running and healthy. The kubelet doesn’t manage containers which were not created by Kubernetes.
kube-proxy
-
kube-proxy is a network proxy that runs on each node in the cluster.
-
It enables the Kubernetes service abstraction by maintaining network rules on the host and performing connection forwarding.
-
kube-proxy is responsible for request forwarding. kube-proxy allows TCP and UDP stream forwarding or round robin TCP and UDP forwarding across a set of backend functions.
Kubernetes Worker node is a machine where workloads get deployed.
The workloads are in the form of containerized applications and because of that, every node in the cluster must run the container run time such as docker in order to run those workloads.
You can have multiple masters mapped to multiple worker nodes or a single master having a single worker node.
The role of the container run time is to start and managed containers.
The kubelet is responsible for running the state of each node and it receives commands and works to do from the master. It also does the health check of the nodes and make sure they are healthy. Kubelet is also responsible for metric collections of pods as well.
The kube-proxy is a component that manages host subnetting and makes services available to other components.