Kubernetes

Kubernete — KPITENG
Kubernetes Architecture — KPITENG

Kubernetes Master -

Kubernetes master is responsible for controlling the cluster, managing workloads and communication across the system. It contains various components like API Server, Controller Manager, Scheduler, etcd.

etcd -

It’s a lightweight key-value data store, which stores the configuration details of the cluster. It also represents the overall state of the cluster at any time. Kubernetes API Server uses etcd’s watch API to monitor cluster and upgrade/downgrade configuration changes according to specified rules. Let’s say if the deployer has set five instances of pods that need to be running, this is stored in etcd. If it is found that only 4 instances are running, this difference will be detected by comparison with etcd data and Kubernetes will create an additional instance of the new pod.

API Server -

API Server serves the API using JSON over HTTP. API Server processes and validates REST requests and updates the state of the API object in etcd, so it helps clients to configure workloads and containers across Worker nodes.

Scheduler -

Scheduler selects the unscheduled pods of node. It tracks the resources. So based on resource requirements it can schedule pod in node.

Controller Manager -

Controller Manager drives actual cluster state toward the desired cluster state. It communicates with API Server to create, update and delete the resources it manages. It is also responsible to create/replace nodes if any node fails.

Nodes -

Nodes is a system where containers are deployed. Where Docker Image/ Services are running. It contains Kubelet, Kube-Proxy, Container.

Kubelet -

Kublet is responsible for running/starting/stopping and maintaining the node and ensuring containers (pods) on the node are healthy. Kubelet also monitors the state of the pod, if any is not in desired state, it re-deploys the same node.

Kube-Proxy -

It’s an Implementation of network proxy and a load balancer. It’s responsible for routing traffic to appropriate containers based on IP and port number of the incoming requests.

Container Runtime -

Container is the core level of micro-service, which contains applications, libraries and dependencies. It is exposed through an external IP address. Kubernetes supports Docker containers to run inside pod.

Pod -

Pod is a scheduling unit in Kubernetes, Kubernetes contains one or more than one container and is located on the same node.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store