Kubernetes Architecture Tutorial. In this article, we will discuss Kubernetes architecture and the moving parts of Kubernetes and also what are the key elements, what are the roles and responsibilities of them in Kubernetes architecture.
Kubernetes Architecture
Kubernetes architecture contains the client-server model. Where Kubernetes client installed on one machine and multiple Kubernetes nodes will be installed on different machines and they communicate with each other.
Read Related Article: What is Kubernetes?
Kubernetes Master Components
The Kubernetes master node is responsible for the management of Kubernetes cluster.
Components of Kubernetes Master.
- etcd
- API Server
- Scheduler
- Controller Manager
Kubernetes Node Components
Components in Kubernetes Node.
- Docker
- Kubelet
- Kubernetes Proxy
Related Article For You: Kubernetes Components
Kubernetes Master Node Architecture
etcd – Kubernetes Architecture
etcd is used as Kubernetes’ backing store. All cluster data is stored here. Always have a backup plan for etcd’s data for your Kubernetes cluster.
It provides a REST API for CRUD operations as well as an interface to register watchers on specific nodes, which enables a reliable way to notify the rest of the cluster about configuration changes.
Related Article: Kubernetes Objects
API Server – Kubernetes Architecture
The API server is the entry points for all the REST commands used to control the cluster. Kube API Server exposes the Kubernetes API. It is the front-end for the Kubernetes control plane. It is designed to scale horizontally – that is, it scales by deploying more instances.
Scheduler – Kubernetes Architecture
Kubernetes Scheduler watches newly created pods that are not assigned to any node, and selects a node for them to run on. The scheduler has the information about resources available on the members of the cluster, and also the ones required for the configured service to run. The scheduler is able to decide where to deploy a specific service based on the information it has.
Related Article: Kubernetes Names And Namespaces
Controller Manager – Kubernetes Architecture
Controller manager runs controllers, which are the background threads that handle routine tasks in the cluster. Logically, each controller is a separate process, but to reduce complexity, they are all compiled into a single binary and run in a single process.
Docker – Kubernetes Architecture
Docker is used for running containers. Docker runs on each of the worker nodes, and runs the configured pods. It takes care of downloading the images and starting the containers.
Related Article: Kubernetes API Tutorial
Kubelet – Kubernetes Architecture
kubelet is the primary node agent. It watches for pods that have been assigned to its node (either by apiserver or via local configuration file) and:
- Mounts the pod’s required volumes.
- Downloads the pod’s secrets.
- Runs the pod’s containers via docker (or, experimentally, rkt).
- Periodically executes any requested container liveness probes.
- Reports the status of the pod back to the rest of the system, by creating a mirror pod if necessary.
- Reports the status of the node back to the rest of the system.
Kubernetes Proxy – Kubernetes Architecture
Kubernetes Proxy acts as a network proxy and a load balancer for a service on a single worker node. It takes care of the network routing for TCP and UDP packets. Kube-Proxy enables the Kubernetes service abstraction by maintaining network rules on the host and performing connection forwarding.
Kuberneters Architecture Video Tutorial
OTHER KUBERNETES TUTORIALS
Kubernetes Names And Namespaces
Kubernetes Interview Questions
Want to learn Kubernetes from industry experts?
Get register for a FREE demo on Kubernetes Training @ Contact us.