master is installed on one machine and workers on the rest machines. the master manages the multiple containers across the multiple nodes. In the worker nodes, there can be one or more pods and pods can contain one or more containers.
Components of master and their roles:
- APIServer: Exposes the REST commands, after validation stores it in etcd.
- Cluster Store: Storage which is used to store the cluster data.
- Controller Manager: Controller manager executes the various types of controllers for handling the nodes, endpoints, etc.
- Scheduler: schedules the tasks to the worker nodes.
Components of worker node and their roles:
- Kubelet: It starts, stops, and maintains the containers which are in the pods. Reports back to the master.
- KubeProxy: network routing and load balancing.
- Container Engine: Container management.