Nodes in a cluster have different functions; some are masters and others are workers. In each cluster, there is a master node and at least one worker node.
The master node is charged with maintaining the cluster’s desired state, freeing up resources, checking the status of each condition, and so on.
It also manages the scheduling of pods across nodes in a cluster, distributing jobs to ensure all nodes are working while not becoming overloaded. The master node has various components like API Server, Controller Manager, Scheduler, and ETCD.
Worker nodes are responsible for everything else involved in running a program and do most of the lifting. These nodes can have multiple pods running on them, working on each as assigned by the master nodes. As worker nodes are mostly isolated, clusters can be scaled with more worker nodes without issue.