The nodes that form the control plane and the worker pool are the actual machines the workload will run on. They may be physical servers that you host on-premises, VMs hosted privately, or VMs from your cloud provider.
Every node in a cluster runs at least the three programs as listed follows:
- A container runtime (for example, Docker Engine or cri-o) that allows the machine to handle the application containers
- A kubelet, which is responsible for receiving requests from the control plane and manages the individual containers based on those requests
- A kube-proxy, which is responsible for networking and load balancing on the node level