{"id":2227,"date":"2020-12-29T21:08:21","date_gmt":"2020-12-29T18:08:21","guid":{"rendered":"https:\/\/telcocloudbridge.com\/?p=2227"},"modified":"2026-09-21T19:38:12","modified_gmt":"2026-09-21T19:38:12","slug":"what-is-kubernetes-and-its-architecture","status":"publish","type":"post","link":"https:\/\/telecomlighthouse.com\/?p=2227","title":{"rendered":"What is Kubernetes? Confused?  Kubernetes and its Architecture Explained in Plain English"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">What is Kubernetes ?&nbsp;and how is kubernetes architecture ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To start with, Kubernetes, also known as &#8220;K8s&#8221; is an open source container orchestration platform that automates the deployment, management, load balancing, and scaling of container based applications ( also called containerized applications).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secondly, Kubernetes is a leader in container orchestration as&nbsp;<a href=\"https:\/\/containerjournal.com\/features\/measuring-kubernetess-market-share-mind-share\/\" target=\"_blank\" rel=\"noreferrer noopener\">this survey shows<\/a>. In fact, It can orchestrate thousands of containers using open source code. And since&nbsp; it is open source, a K8s cluster&nbsp; can run almost anywhere including public cloud providers ( e.g. all major cloud providers like Amazon Web services, Azure)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Indeed Kubernetes is an enabler for Platform as a service (PaaS) that creates hardware layer abstraction for development teams.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why do you need to know about the Kubernetes?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Today, majority of&nbsp; applications are developed as <a href=\"https:\/\/telecomlighthouse.com\/blog\/what-is-cloud-native-understand-the-easy-way\/\" class=\"rank-math-link\">cloud native<\/a>, i.e. they run as microservices\/containers. Due to their lightweight size, they have become popular. 5G core, for example, is completely cloud native based. As Kubernetes is popular container orchestration platform, so it is important to know about this platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The best way to understand and appreciate Kubernetes is to understand its architecture.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Best way to understand &#8220;what is Kubernetes&#8221; is to understand its architecture.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">So as you are looking to know about &#8220;what is Kubernetes&#8221;, i suggest that understanding its architecture can clarify it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, the info out there makes Kubernetes architecture hard to understand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this step by step guide, I will make it very easy for you to understand the Kubernetes architecture clearly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I will make Kubernetes easy to understand through the ship analogy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I will draw parallels between Kubernetes and cargo ships. This is an interesting analogy and you would not forget the concepts after that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before understanding the Kubernetes and using the ship analogy, it is good to understand first some basic terms like Pod, cluster, and Node.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In fact, Kubernetes is architected as a cluster of nodes, and then containers are deployed into pods using&nbsp; Control Plane. The control plane manages the nodes and the pods.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Concept of Pod, Cluster, Container, and Node<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s first understand the hierarchy going from small to bigger.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Container &gt; Pod &gt; Node &gt; Cluster<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This order will help you remember, smaller to the bigger size. The smaller resides in the bigger.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-1.png\" alt=\"\" class=\"wp-image-2498\" width=\"717\" height=\"236\"\/><figcaption>Concept of Pod, Node, container<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Container<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the level 0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" class=\"rank-math-link\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/containers\/\" target=\"_blank\">Kubernetes.io<\/a>&nbsp;defines container as following\u201cA&nbsp;container image is a ready-to-run software package, containing everything needed to run an application: the code and any runtime it requires, application and system libraries, and default values for any essential settings\u201dthe container is the smallest unit and sits inside the Pod. However, Kubernetes does not create containers. That is the job of the container runtime, such as Docker ( more at the end)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pod<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the level 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The container sits in the Pod. A Pod is defined as a logical unit of application. It can contain one or more containers and is deployed on a node. For Kubernetes PoD is the basic unit ( instead of containers) i.e Kubernetes deploy Pods ( which have containers inside) and does not create containers directly. Normally Pod will have a single type of application or it can have multiple applications if they are closely related. Each pod is assigned a unique IP address within the cluster, that enables the application to use ports without conflict. Pod to pod communication is enabled using a dedicated Pod IP address<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Node ( Worker Node)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is level 3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pods run inside nodes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nodes can be virtual machines or physical servers. A Node is a worker machine in Kubernetes. Each Node is managed by the Master. ( more about worker node and master node later on) A Node can have multiple pods, and the Kubernetes master automatically handles scheduling the pods across the Nodes in the cluster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Node is also called worker node in Kubernetes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cluster<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is level 4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the minimum, the Cluster contains one or a group of nodes and a control plane.&nbsp; containers do not need to be tied to the specific virtual machine. Containers can run anywhere, on physical, virtual, or cloud but what ties them together is them being part of a cluster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes clusters are comprised of one master ( more on master later on) and a number of nodes ( also called worker nodes)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After getting the clarity on the master and worker node, let&#8217;s see the reference architecture of Kubernetes and the role of master and worker node.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the best way to understand what is inside the master and worker node is to use the ship analogy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lets take the next section of understanding what is kubernetes and kubernetes architecture.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kubernetes architecture using ship analogy?<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-9.png\" alt='Kubernetes analogy to ships' class=\"wp-image-2506\"\/><figcaption>Kubernetes analogy to Ships<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Worker nodes are like cargo ships. Cargo ships take containers from source to destination. In Kubernetes, worker nodes host containers of applications. Master is like control ships. Control ships manage and monitor cargo ships<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s take a look at different components of the control ship\/master<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is inside the master (Control ship)?<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-8.png\" alt=\"\" class=\"wp-image-2505\"\/><figcaption>Master components in Kuberentes<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The master runs control plane components. The control plane components make global decisions about the cluster as well as detecting and responding to the cluster events. Usually, control plane components are run on a dedicated machine in a cluster.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kube&nbsp;scheduler<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kube scheduler= Cranes in control ship<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When cargo ships arrive, containers are loaded on them using cranes, , therefore there should be a way to identify where to place the containers, which ships have the capacity, constraints, etc. This is the job of the schedulers. But as Kubernetes run pods ( containers are part of the pods), so we can say that kube scheduler schedules pods on the ships ( on the worker nodes)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The scheduler takes into account the resource needs of the pods, such as CPU or memory, along with the health of the cluster. Based on this, it can schedule pod to the appropriate compute node<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">etcd<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>etcd= cargo ship profiles<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/1_image-5.png\" alt=\"\" class=\"wp-image-2502\" width=\"103\" height=\"111\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As containers are loaded and unloaded from ships on daily basis. There should be a database that needs to keep track of all this information on where are those containers and at what time they are uploaded. etcd is a database that stores this information ( It is like a source of truth) This is analogous to a \u201ccargo ship profiles\u201d that has details of all such information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">kube api server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>api server = The department in control ship that manages communication<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are multiple offices onboard a ship. As well there are external stakeholders. Who manages the communications within internal and between the internal and external entities? kube-api server serve exactly that purpose<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">kube controller manager<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kube-controller-manager = captain of the master node<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-6.png\" alt=\"\" class=\"wp-image-2503\" width=\"124\" height=\"121\"\/><figcaption>Kube controller manager<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In Kubernetes, the kube controller manager runs a different kind of controllers that control different functions like ( it is like the captain of the master node)<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Node controller- responds when nodes go down<\/li><li>Replication controller-responsible for maintaining the correct number of pods<\/li><li>End point controller-Populates the endpoint objects like joins, services, and pods.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In ship analogy, kube controller manager is managing different offices in dock like operation office ( the team that responds if any issue with the worker node), replication office (the team responsible for maintaining correct number of pods)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s inside the worker node (Cargo ship)?<\/h2>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-11.png\" alt='Kubernetes architecture' class=\"wp-image-2508\"\/><figcaption>Kubernetes architecture<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">kubelet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kubelet =captain of the worker ship<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/telecomlighthouse.com\/wp-content\/uploads\/2026\/09\/image-10.png\" alt=\"\" class=\"wp-image-2507\" width=\"133\" height=\"129\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is an agent that runs on each node of the cluster. It listens to instructions from kube-api-server and manages the Pods and the containers running on the machine.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">kube proxy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>kube proxy= manages communication between worker ships<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">kube proxy manages communication between different containers deployed across different nodes. For example, a packet core may have multiple different services, one service deployed on one node, while another on another node that needs to talk to one another, the kube-proxy facilitates this kind of communication<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In terms of ship analogy, kube proxy manages communication between different worker nodes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">container runtime<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You need to install a&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/container-runtimes\" target=\"_blank\">container runtime<\/a>&nbsp;into each node in the cluster so that Pods can run there.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Container runtime is installed in each node in the cluster so that pods can run there.&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.redhat.com\/en\/topics\/containers\/what-is-docker\" target=\"_blank\">Docker<\/a>&nbsp;is one of the popular container runtime but there are others such as the Open container initiative.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So thats it, I hope it is clear now on what is Kubernetes and Kubernetes architecture. Please leave a comment below and let me know your thoughts on whether it is now easy for you to understand Kubernetes ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>References<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">slideshare-demystifying-the-nuts-bolts-of-kubernetes-architecture<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/opensource.com\/article\/20\/6\/container-orchestration\">https:\/\/opensource.com\/article\/20\/6\/container-orchestration<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/components\/\">https:\/\/kubernetes.io\/docs\/concepts\/overview\/components\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Kubernetes ?&nbsp;and how is kubernetes architecture ? To start with, Kubernetes, also known as &#8220;K8s&#8221; is an open source container orchestration platform that automates the deployment, management, load balancing, and scaling of container based applications ( also called containerized applications). Secondly, Kubernetes is a leader in container orchestration as&nbsp;this survey shows. In fact, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2515,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2227","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nfv"],"_links":{"self":[{"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/posts\/2227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2227"}],"version-history":[{"count":1,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/posts\/2227\/revisions"}],"predecessor-version":[{"id":3492,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/posts\/2227\/revisions\/3492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=\/wp\/v2\/media\/2515"}],"wp:attachment":[{"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/telecomlighthouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}