Kubernetes Architecture

Kubernetes architecture comprises following components.

Sr.ComponentDescription
1.API serverIt acts as a frontend to kubernetes cluster.
All the cli commands talk to kubernetes using this API server.
2.etcdIt is a distributed key-value database to store the nodes information required to manage the cluster.
It is responsible for implementing the locks to make sure there are no conflicts between the masters. (Need to understand and verify)
3.SchedulerIt is responsible for the distribution of containers across multiple nodes. It looks for new containers and assign them to the nodes.
4.ControllerIt is the brain of kubernetes.
It looks for container or nodes went down and responsible for restarting them in such cases.
5.kubeletIt is the agent that runs on each worker nodes and makes sure the containers are running as expected.
6.Container runtimeSoftware responsible for running the container. Docker, rkt and CRI-O are such examples.