We'll check out the node component in more detail for this article.
The node component is a component that runs on every node, and it's responsible for maintaining running pods and providing the Kubernetes runtime environment.
It closely connects with the Kubernetes API and receives and sends data from its node.
Each node runs two main components a kubelet and a container runtime. Let's take a look at what each one does.
The kubelet is responsible for establishing and acting on the communication between the Control Plane and the node.
The container runtime is in charge of pulling the relevant image from the image registry, unpacking them, and running them on the node. It can run multiple container runtimes, including Docker, CRI, CRI-O, and Containerd.
Besides the two main components, we also get the kube-proxy which runs on each node. It's responsible for maintaining network rules on each node. It makes sure the communication between nodes and pods is as expected.