<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Untitled Publication]]></title><description><![CDATA[Untitled Publication]]></description><link>https://arpan03.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 16 Oct 2026 17:01:40 GMT</lastBuildDate><atom:link href="https://arpan03.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Kubernetes Architecture]]></title><description><![CDATA[Kubernetes (K8s) is an open-source container-orchestration system which manages the containerised applications and takes care of the automated deployment, storage, scaling, scheduling, load balancing, updates(rolling-updates), self-healing, batch-exe...]]></description><link>https://arpan03.hashnode.dev/kubernetes-architecture</link><guid isPermaLink="true">https://arpan03.hashnode.dev/kubernetes-architecture</guid><category><![CDATA[Kubernetes]]></category><category><![CDATA[architecture]]></category><category><![CDATA[containerization]]></category><dc:creator><![CDATA[Arpanjyoti Parasar]]></dc:creator><pubDate>Fri, 20 Sep 2024 17:00:52 GMT</pubDate><content:encoded><![CDATA[<p>Kubernetes (K8s) is an open-source container-orchestration system which manages the containerised applications and takes care of the automated deployment, storage, scaling, scheduling, load balancing, updates(rolling-updates), self-healing, batch-execution and monitoring of containers across clusters of hosts.</p>
<h3 id="heading-why-kubernetes"><strong>Why Kubernetes?</strong></h3>
<p>There are multiple container orchestration systems available today but Kubernetes has become more popular as it is cost efficient and provides a lot of options to customize deployments and has support for many different vendors. It is supported on all major public cloud service providers like GCP, Azure, AWS etc.</p>
<p>Kubernetes follows the <strong>master/slave</strong> or <strong>master/worker</strong> architecture. So, we have the master nodes and the worker nodes. The master nodes manage the worker nodes and together they form a cluster. A cluster is a set of machines called nodes. A Kubernetes cluster has at least one master node and one worker node.</p>
<p>Note: There can be multiple clusters as well</p>
<p>**Kubernetes architecture is divided into two parts Control Plane and Data Plane.</p>
<h3 id="heading-kubernetes-master-node-or-control-plane"><strong>Kubernetes Master Node or Control Plane</strong></h3>
<p>Kubernetes Master Node or Control Plane is the controlling unit of the cluster which manages the cluster, monitors the Nodes and Pods in the cluster, and when a node fails, it moves the workload of the failed node to another working node.</p>
<p>The various components of the Kubernetes Master Node as well as for worker node:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1726765983800/dc9140ea-d59b-4dcb-b779-6ade846e4ba2.jpeg" alt /></p>
<ul>
<li><p><strong>API Server:</strong></p>
<p>  The API Server is responsible for all communications (JSON over HTTP API). The Users, management devices, and Command line interfaces talk to the API Server to interact with the Kubernetes cluster. kubectl is the CLI tool used to interact with the Kubernetes API.</p>
</li>
<li><p><strong>Scheduler:</strong></p>
<p>  The Scheduler schedules Pods across multiple nodes based on the information it receives from etcd, via the API Server.</p>
</li>
<li><p><strong>Controller Manager:</strong></p>
<p>  It is responsible for managing the Kubernetes inbuilt controllers like replication controller, namespace controller, service accounts controller, deployment, statefulset, and daemonset. It runs the watch-loops continuously to drive the actual cluster state towards the desired cluster state.</p>
</li>
<li><p><strong>Cloud Controller Manager:</strong> It enables to connect a Kubernetes Cluster with the API of the cloud provider (Azure,AWS,GCP etc). It is not required for on-premise Kubernetes environments.</p>
</li>
<li><p><strong>etcd</strong></p>
<p>  etcd is the open-source persistent, lightweight, distributed key-value database developed by CoreOS, which communicates only with the API Server. etcd can be configured externally or inside the Master Node.<br />  It have complete information of the cluster</p>
</li>
</ul>
<h3 id="heading-kubernetes-worker-node-or-data-plane"><strong>Kubernetes Worker Node or Data Plane</strong></h3>
<ul>
<li><p><strong>Kubelet:</strong></p>
<p>  It ensures that all containers specified in the pod configuration are always running or running on a specified node, it manages their lifecycle. Each node contains a kubelet which communicates with the Kubernetes control plane.</p>
</li>
<li><p><strong>Kube-Proxy:</strong></p>
<p>  It is responsible for networking, it handles all network communications outside and inside the cluster, forwarding traffic or replying on the packet filtering layer of the operating system.</p>
</li>
<li><p><strong>Container Runtime :</strong></p>
<p>  Kubernetes does not have the capability to directly handle containers, so it requires a Container runtime. Each node comes with a container runtime engine, it is responsible for running containers. Docker is a popular container runtime engine, but Kubernetes supports other runtimes that are compliant with Open Container Initiative ,</p>
<p>  <a target="_blank" href="https://opencontainers.org/"><strong>OCI</strong></a> , including CRI-O and rkt.</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>