Kubernetes Architecture — In Simple Words

  • Kubernetes is a simple, durable, scalable platform for containerized workloads and services. It is an open-source platform.
  • A Kubernetes cluster consists of CONTROL PLANE and WORKER NODES
    Worker nodes are mainly responsible for running containerized application

CONTROL-PLANE

  • Control-plane is mainly responsible for making decisions for the cluster.
    for example, Creating the pod, Deleting the pod, Creating an exposed route.
  • If anything is unusual in the cluster then the control plane is forced to get things back to normal.
  • Control-plane consists of following more components, Where everyone has its own responsibility like a team who works together.
    1. kube-apiserver
    2. etcd
    3. kube-scheduler
    4. kube-controller-manager

CONTROL-PLANE COMPONENTS

  • kube-apiserver is an api-server that is responsible for handing API requests to the cluster. For example
    1. Getting the list of pods
  • kube-apiserver is also known as the primary manager of Kubernetes.
    It exposes an external API that is accessed by external users for managing operations inside the cluster.
  • ETCD is a database that consists of consistent and highly-available key-value storage.
  • For example, how many pods are deployed on the cluster is stored in a key-value format in etcd database.
  • Every single thing deployed on the cluster is stored in the etcd database.
  • Kube-scheduler decides which pod goes on which node.
  • Suppose we have a scenario where a pod needs 1GB Memory but one of the node is only having 500Mib of it. So this decision that it should be deployed in another node where the Memory is available is handled by Kube-scheduler
  • kube-contoller-manager is a process that is responsible for checking the status of the pod, deployments, replica sets, etc.
  • If the status is not as required then take necessary action on it.
  • For example, A deployment consists of 5 replicas but it’s showing 2 when to search for it, So the action to again scale it to 5 is the responsibility of the Kube-controller-manager

Node Components

kubelet

  • Kubelet is a service that runs on the node which will be in continuous contact with the Kube-apiserver.
  • Kubelet takes requests from Kube-apiserver and makes necessary changes on that particular 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