In Kubernetes, nodes are the individual machines (physical or virtual) that make up a cluster. Each node gets a unique identity and helps track resources and workloads.
Every node runs:
- kubelet (manages containers and reports to the control plane)
- kube-proxy (handles network traffic)
- Container runtime (runs the actual containers)
There are two main types of nodes:
- Control plane nodes, manage the cluster (run the API server, scheduler, etc.)
- Worker nodes, run your applications (Pods)
In small setups (like with Minikube), you can run everything on a single node for learning or testing. In real clusters, nodes are spread across different systems or even networks for better performance and reliability.
Nodes are created during cluster setup, usually with tools like kubeadm. The full Kubernetes cluster is made up of all the control plane and worker nodes working together.