What are the components of Kubernetes master and explain each component’s function?
- All the incoming/outgoing communication with Kubernetes cluster happening through API Server.
- APIServer is a RESTful server.
- Workstations/Client uses Kubectl tool for communicating with the API Server.
- API Server expects the inputs in JSON format.
- All the communication with the Master node worker nodes are also happening through API Server.
- Scheduler/Controller Manager uses API Server for all the communications with the worker nodes.
- Authentication and authorization.
- This is the storage mechanism Kubernetes Master node has.
- All the details about the cluster configurations and deployments details will be stored in it.
- Stores in key-value format.
- Communicates with API Server only.
- Duties: Config management, Service discovery, Cordinating distributed work.
- With out this we can say Kubernetes cluster is literally dead.
- Scheduler is responsible for scheduling works to the available pods.
- It intelligently distribute the work to different nodes based on the current work load of the nodes.
- It also consider contraints, available resources etc, before assigning a work.
- Scheduler will provide the self healing fecility on receiving request from controller manager.
- Controller manager controlls/monitors the state of each and everything in the cluster.
- It repeatedly checks the health of each nodes and pods.
- It used the watch mechansim provided by the API Server.
- It will communicate with Scheduler if anything went wrong.