Kubernetes Architecture
Kubernetes architecture comprises following components.
Sr. | Component | Description |
---|---|---|
1. | API server | It acts as a frontend to kubernetes cluster. All the cli commands talk to kubernetes using this API server. |
2. | etcd | It 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. | Scheduler | It is responsible for the distribution of containers across multiple nodes. It looks for new containers and assign them to the nodes. |
4. | Controller | It is the brain of kubernetes. It looks for container or nodes went down and responsible for restarting them in such cases. |
5. | kubelet | It is the agent that runs on each worker nodes and makes sure the containers are running as expected. |
6. | Container runtime | Software responsible for running the container. Docker, rkt and CRI-O are such examples. |