<script data-pm-proxy="intercept"></script><?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" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[DevOps Simplified]]></title><description><![CDATA[Documenting my DevOps adventures one post at a time. 

Support my work here: https://buymeacoffee.com/satyamounika11]]></description><link>https://satyamounika11.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!sSQz!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c6aaba8-49f9-4884-a0d8-491495bf0c68_1024x1024.png</url><title>DevOps Simplified</title><link>https://satyamounika11.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 05 Sep 2026 04:15:18 GMT</lastBuildDate><atom:link href="/__u/satyamounika11.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Satya Mounika Mushini]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[satyamounika11@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[satyamounika11@substack.com]]></itunes:email><itunes:name><![CDATA[Satya Mounika Mushini]]></itunes:name></itunes:owner><itunes:author><![CDATA[Satya Mounika Mushini]]></itunes:author><googleplay:owner><![CDATA[satyamounika11@substack.com]]></googleplay:owner><googleplay:email><![CDATA[satyamounika11@substack.com]]></googleplay:email><googleplay:author><![CDATA[Satya Mounika Mushini]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Why Kubernetes Should Never Store Your Passwords in ConfigMaps 🔐]]></title><description><![CDATA[Safely managing sensitive data using Kubernetes Secrets]]></description><link>https://satyamounika11.substack.com/p/why-kubernetes-should-never-store</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/why-kubernetes-should-never-store</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 31 Aug 2026 05:41:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6TBv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned how <strong>ConfigMaps</strong> help store application configuration in Kubernetes.</p><p>But ConfigMaps should only store:</p><p>&#9989; non-sensitive data</p><p>such as:</p><ul><li><p>application modes</p></li><li><p>URLs</p></li><li><p>ports</p></li><li><p>feature flags</p></li></ul><p>What about sensitive information like:</p><ul><li><p>database passwords</p></li><li><p>API keys</p></li><li><p>authentication tokens</p></li><li><p>secret credentials</p></li></ul><p>Storing them inside ConfigMaps is NOT safe &#10060;</p><p>Kubernetes solves this problem using: <strong>Secrets</strong> &#128272;</p><div><hr></div><h3>&#129504; What is a Kubernetes Secret?</h3><p>A Secret is a Kubernetes object used to store: <strong>Sensitive information securely</strong></p><p>It helps manage:</p><ul><li><p>passwords</p></li><li><p>tokens</p></li><li><p>credentials</p></li><li><p>private keys</p></li><li><p>secret configuration data</p></li></ul><p>without hardcoding them directly inside applications.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6TBv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6TBv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/deb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1505161,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199222383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6TBv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb5a9c3-84c5-4a74-88e7-927f1327b003_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#127757; Real World Example</h3><p>Imagine your application needs:</p><pre><code><code>DATABASE_PASSWORD=mysecretpassword</code></code></pre><p>Hardcoding this inside:</p><ul><li><p>application code</p></li><li><p>Docker images</p></li><li><p>YAML files</p></li></ul><p>creates security risks &#128680;</p><p>Instead, Kubernetes Secrets store this information separately.</p><div><hr></div><h3>&#9888;&#65039; Why Hardcoding Passwords Is Dangerous</h3><p>Suppose passwords are directly written inside:</p><ul><li><p>GitHub repositories</p></li><li><p>container images</p></li><li><p>YAML manifests</p></li></ul><p>This can lead to:</p><ul><li><p>credential leaks</p></li><li><p>security breaches</p></li><li><p>unauthorized access</p></li></ul><p>Secrets help reduce this risk.</p><div><hr></div><h3>&#127793; What Secrets Commonly Store</h3><p>Kubernetes Secrets can store:</p><ul><li><p>database passwords</p></li><li><p>API tokens</p></li><li><p>SSH keys</p></li><li><p>TLS certificates</p></li><li><p>cloud credentials</p></li></ul><p>Anything sensitive should usually go into a Secret &#128272;</p><div><hr></div><h3>&#9881;&#65039; Simple Secret Example</h3><pre><code><code>apiVersion: v1
kind: Secret

metadata:
  name: app-secret

type: Opaque

data:
  username: YWRtaW4=
  password: cGFzc3dvcmQxMjM=</code></code></pre><div><hr></div><h3>&#129504; Why Does the Data Look Strange?</h3><p>The values are encoded using:</p><h4>Base64 Encoding</h4><p>Example:</p><pre><code><code>admin</code></code></pre><p>becomes:</p><pre><code><code>YWRtaW4=</code></code></pre><p>And:</p><pre><code><code>password123</code></code></pre><p>becomes:</p><pre><code><code>cGFzc3dvcmQxMjM=</code></code></pre><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>Base64 is:</p><p>&#10060; NOT encryption</p><p>It is only:</p><ul><li><p>encoding</p></li></ul><p>Anyone can decode Base64 easily.</p><p>Secrets mainly help:</p><ul><li><p>organize sensitive data</p></li><li><p>avoid exposing credentials directly in YAML or code</p></li></ul><p>For stronger security, production environments often use:</p><ul><li><p>encryption at rest</p></li><li><p>external secret managers</p></li><li><p>cloud security services</p></li></ul><div><hr></div><h3>&#128640; Create the Secret</h3><p>Save the file as:</p><pre><code><code>secret.yaml</code></code></pre><p>Apply it using:</p><pre><code><code>kubectl apply -f secret.yaml</code></code></pre><div><hr></div><h3>&#128269; Verify the Secret</h3><p>Run:</p><pre><code><code>kubectl get secrets</code></code></pre><p>You should see:</p><pre><code><code>app-secret</code></code></pre><div><hr></div><h3>&#127793; How Applications Use Secrets</h3><p>Applications can access Secrets using:</p><ul><li><p>environment variables</p></li><li><p>mounted files</p></li><li><p>volumes</p></li></ul><p>Just like ConfigMaps,<br>Secrets are injected into Pods dynamically &#127793;</p><div><hr></div><h3>&#128739;&#65039; Simple Flow</h3><p>Secret &#128272;<br>&#8595;<br>Deployment &#127793;<br>&#8595;<br>Pod &#128230;<br>&#8595;<br>Application &#128640;</p><p>The application securely reads sensitive data.</p><div><hr></div><h3>&#129504; ConfigMap vs Secret</h3><h4>ConfigMap</h4><p>Used for:</p><ul><li><p>non-sensitive configuration</p></li></ul><p>Examples:</p><ul><li><p>URLs</p></li><li><p>ports</p></li><li><p>application settings</p></li></ul><div><hr></div><h4>Secret</h4><p>Used for:</p><ul><li><p>sensitive data</p></li></ul><p>Examples:</p><ul><li><p>passwords</p></li><li><p>API keys</p></li><li><p>tokens</p></li></ul><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of ConfigMaps like sticky notes &#128221;</p><p>They store normal information everyone can see.</p><p>Secrets are more like a locked locker &#128274;</p><p>Only authorized applications should access them.</p><div><hr></div><h3>&#127970; Why Companies Use Secrets</h3><p>Secrets help production systems:</p><ul><li><p>reduce credential exposure</p></li><li><p>separate sensitive data</p></li><li><p>improve security practices</p></li><li><p>manage credentials centrally</p></li></ul><p>They are extremely important in modern Kubernetes environments &#128640;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Kubernetes Secrets store sensitive information like:</p><ul><li><p>passwords</p></li><li><p>API keys</p></li><li><p>credentials</p></li><li><p>tokens</p></li></ul><p>They help avoid hardcoding sensitive data directly inside applications or YAML files &#128272;</p><p>ConfigMaps store normal configuration &#128736;&#65039;<br>Secrets store sensitive data &#128274;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Stop Hardcoding Configuration in Kubernetes 🛠️]]></title><description><![CDATA[Managing application settings, the clean way with ConfigMaps]]></description><link>https://satyamounika11.substack.com/p/stop-hardcoding-configuration-in</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/stop-hardcoding-configuration-in</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 24 Aug 2026 05:41:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GBos!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far in this Kubernetes series, you learned how applications:</p><ul><li><p>run inside Pods</p></li><li><p>communicate using Services</p></li><li><p>receive external traffic using Ingress</p></li></ul><p>But applications also need configuration.</p><p>For example:</p><ul><li><p>database URLs</p></li><li><p>application modes</p></li><li><p>API endpoints</p></li><li><p>feature flags</p></li><li><p>environment variables</p></li></ul><p>A common beginner mistake is:</p><p>&#10060; hardcoding these values directly inside application code or container images.</p><p>This creates maintenance problems very quickly.</p><p>Kubernetes solves this using: <strong>ConfigMaps</strong> &#127793;</p><div><hr></div><h3>&#129504; What is a ConfigMap?</h3><p>A ConfigMap is a Kubernetes object used to store: <strong>Non-sensitive configuration data</strong></p><p>It helps separate:</p><ul><li><p>application code<br>from</p></li><li><p>application configuration</p></li></ul><p>This makes applications easier to manage and update &#128640;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!GBos!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!GBos!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1480959,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199221729?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!GBos!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ceec09-3d61-4cd1-b564-6a2ba8f744ab_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#127757; Real World Example</h3><p>Imagine an application using:</p><pre><code><code>DATABASE_URL=prod-db.company.com</code></code></pre><p>Instead of hardcoding this inside the application,<br>you can store it inside a ConfigMap.</p><p>The application reads the configuration dynamically &#127793;</p><div><hr></div><h3>&#9888;&#65039; Why Hardcoding Is Bad</h3><p>Suppose you move your application from:</p><ul><li><p>development<br>to</p></li><li><p>production</p></li></ul><p>The database URL may change.</p><p>If values are hardcoded:</p><ul><li><p>application images must be rebuilt</p></li><li><p>deployments become harder</p></li><li><p>environments become difficult to manage</p></li></ul><p>ConfigMaps solve this problem cleanly.</p><div><hr></div><h3>&#127793; What Can ConfigMaps Store?</h3><p>ConfigMaps commonly store:</p><ul><li><p>environment variables</p></li><li><p>application settings</p></li><li><p>URLs</p></li><li><p>ports</p></li><li><p>configuration files</p></li><li><p>feature flags</p></li></ul><p>But:</p><p>&#10060; passwords<br>&#10060; API secrets<br>&#10060; sensitive credentials</p><p>should NOT be stored in ConfigMaps.</p><p>Those belong in: <strong>Kubernetes Secrets</strong> &#128272;which we will learn in the next article.</p><div><hr></div><h3>&#9881;&#65039; Simple ConfigMap Example</h3><pre><code><code>apiVersion: v1
kind: ConfigMap

metadata:
  name: app-config

data:
  APP_MODE: production
  APP_COLOR: blue</code></code></pre><div><hr></div><h3>&#129504; Understanding the YAML</h3><h4>kind: ConfigMap</h4><p>Creates a ConfigMap object.</p><div><hr></div><h4>data</h4><p>Stores key-value configuration pairs.</p><p>Example:</p><pre><code><code>APP_MODE=production</code></code></pre><div><hr></div><h3>&#128640; Create the ConfigMap</h3><p>Save the file as:</p><pre><code><code>configmap.yaml</code></code></pre><p>Apply it using:</p><pre><code><code>kubectl apply -f configmap.yaml</code></code></pre><div><hr></div><h3>&#128269; Verify the ConfigMap</h3><p>Run:</p><pre><code><code>kubectl get configmaps</code></code></pre><p>You should see:</p><pre><code><code>app-config</code></code></pre><div><hr></div><h3>&#127793; How Applications Use ConfigMaps</h3><p>Applications can read ConfigMaps in multiple ways:</p><ul><li><p>environment variables</p></li><li><p>mounted files</p></li><li><p>command arguments</p></li></ul><p>Most beginners first learn:</p><ul><li><p>environment variable usage</p></li></ul><p>because it is simpler &#127793;</p><div><hr></div><h3>&#128739;&#65039; Simple Flow</h3><p>ConfigMap &#128736;&#65039;<br>&#8595;<br>Deployment &#127793;<br>&#8595;<br>Pod &#128230;<br>&#8595;<br>Application &#128640;</p><p>The application receives configuration dynamically.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of ConfigMaps like a settings file &#9881;&#65039;</p><p>Your application is like a mobile app.</p><p>The settings:</p><ul><li><p>theme</p></li><li><p>language</p></li><li><p>server URL</p></li></ul><p>can change without reinstalling the app.</p><p>Similarly:</p><p>ConfigMaps allow configuration changes without modifying application code.</p><div><hr></div><h3>&#127970; Why Companies Use ConfigMaps</h3><p>ConfigMaps help production environments:</p><ul><li><p>separate configuration cleanly</p></li><li><p>manage multiple environments</p></li><li><p>simplify deployments</p></li><li><p>reduce hardcoding</p></li><li><p>improve maintainability</p></li></ul><p>They are heavily used in real Kubernetes environments &#128640;</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>ConfigMaps are NOT secure storage.</p><p>Anyone with access to the cluster may read them.</p><p>Sensitive data should always use: <strong>Kubernetes Secrets</strong> &#128272;</p><p>instead.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>ConfigMaps store non-sensitive configuration data in Kubernetes.</p><p>They help:</p><ul><li><p>avoid hardcoding</p></li><li><p>separate configuration from code</p></li><li><p>simplify environment management</p></li></ul><p>Applications can dynamically read configuration using ConfigMaps &#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Kubernetes Ingress vs API Gateway ⚔️]]></title><description><![CDATA[Understanding the difference in modern architectures]]></description><link>https://satyamounika11.substack.com/p/kubernetes-ingress-vs-api-gateway</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/kubernetes-ingress-vs-api-gateway</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 17 Aug 2026 07:02:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lkvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far in this Ingress series, you learned how Kubernetes manages external traffic using:</p><ul><li><p>Ingress</p></li><li><p>Ingress Controllers</p></li><li><p>routing rules</p></li><li><p>HTTPS</p></li><li><p>annotations</p></li><li><p>Gateway API</p></li></ul><p>At this point, many beginners get confused between:</p><h4>Ingress</h4><p>and</p><h4>API Gateway &#127760;</h4><p>They may sound similar,<br>but they solve different problems.</p><p>Let&#8217;s understand the difference in a simple beginner-friendly way &#127793;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Lkvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Lkvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35976f79-5a81-4999-aefd-19544777627f_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1848816,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Lkvj!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35976f79-5a81-4999-aefd-19544777627f_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What Kubernetes Ingress Mainly Does</h3><p>Ingress is mainly used for: <strong>Traffic Routing</strong> &#128678;</p><p>It helps:</p><ul><li><p>expose applications</p></li><li><p>route external traffic</p></li><li><p>manage paths and hosts</p></li><li><p>handle HTTPS traffic</p></li></ul><p>Example:</p><ul><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li><li><p><code>shop.myapp.com</code></p></li></ul><p>Ingress decides:</p><blockquote><p>where traffic should go.</p></blockquote><div><hr></div><h3>&#127760; What an API Gateway Does</h3><p>An API Gateway does much more than routing.</p><p>It focuses on: <strong>API Management</strong> &#128640;</p><p>API Gateways provide advanced features like:</p><ul><li><p>authentication</p></li><li><p>authorization</p></li><li><p>rate limiting</p></li><li><p>API monitoring</p></li><li><p>request transformation</p></li><li><p>caching</p></li><li><p>analytics</p></li></ul><p>It not only routes traffic,<br>but also controls and secures APIs.</p><div><hr></div><h3>&#127793; Simple Beginner Comparison</h3><h4>Ingress</h4><p>Mainly focuses on:</p><ul><li><p>routing traffic</p></li><li><p>exposing applications</p></li><li><p>managing external access</p></li></ul><p>Think of it as:</p><blockquote><p>a traffic controller &#128678;</p></blockquote><div><hr></div><h4>API Gateway</h4><p>Focuses on:</p><ul><li><p>API security</p></li><li><p>API policies</p></li><li><p>authentication</p></li><li><p>advanced traffic management</p></li></ul><p>Think of it as:</p><blockquote><p>a smart security and management layer &#127760;</p></blockquote><div><hr></div><h3>&#127970; Real World Example</h3><p>Imagine a company running many backend APIs.</p><p>The company may want to:</p><ul><li><p>authenticate users &#128272;</p></li><li><p>block excessive requests &#128679;</p></li><li><p>track API usage &#128202;</p></li><li><p>apply security policies &#128737;&#65039;</p></li></ul><p>Ingress alone may not handle all these requirements easily.</p><p>An API Gateway becomes useful for these advanced API management needs.</p><div><hr></div><h3>&#127757; Example Scenario</h3><p>Suppose users access:</p><pre><code><code>api.myapp.com</code></code></pre><div><hr></div><h3>With Ingress</h3><p>Ingress mainly:</p><ul><li><p>routes traffic to the correct Service</p></li></ul><div><hr></div><h3>With API Gateway</h3><p>The Gateway may additionally:</p><ul><li><p>verify authentication tokens</p></li><li><p>apply rate limiting</p></li><li><p>monitor API usage</p></li><li><p>log requests</p></li><li><p>enforce security rules</p></li></ul><p>before forwarding traffic to backend Services.</p><div><hr></div><h3>&#9888;&#65039; Is Gateway API the Same as API Gateway?</h3><p>No &#10060;</p><p>This is a very common beginner confusion.</p><div><hr></div><h4>Gateway API &#127753;</h4><p>Gateway API is:</p><blockquote><p>a Kubernetes networking standard/API.</p></blockquote><p>It is part of Kubernetes traffic management.</p><p>It is considered a modern evolution of Ingress.</p><div><hr></div><h4>API Gateway &#127760;</h4><p>API Gateway is:</p><blockquote><p>a product or service used for API management.</p></blockquote><p>Examples:</p><ul><li><p>Kong</p></li><li><p>AWS API Gateway</p></li><li><p>Apigee</p></li><li><p>Traefik</p></li></ul><p>It focuses on:</p><ul><li><p>security</p></li><li><p>authentication</p></li><li><p>API policies</p></li></ul><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress like a building receptionist &#127970;</p><p>The receptionist:</p><ul><li><p>directs visitors to the correct room</p></li></ul><p>Now think of an API Gateway like airport security &#9992;&#65039;</p><p>It:</p><ul><li><p>verifies identity</p></li><li><p>checks permissions</p></li><li><p>monitors activity</p></li><li><p>applies security rules</p></li></ul><p>That is the major difference.</p><div><hr></div><h3>&#127793; Do Companies Use Both?</h3><p>YES. Very often &#128640;</p><p>Many modern architectures use:</p><ul><li><p>Ingress or Gateway API<br>for:</p></li><li><p>Kubernetes traffic routing</p></li></ul><p>AND</p><ul><li><p>API Gateway<br>for:</p></li><li><p>API management and security</p></li></ul><p>They can work together.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress mainly focuses on:</p><ul><li><p>routing external traffic</p></li><li><p>exposing Kubernetes applications</p></li></ul><p>API Gateway focuses on:</p><ul><li><p>securing APIs</p></li><li><p>managing API traffic</p></li><li><p>authentication</p></li><li><p>monitoring</p></li><li><p>advanced API policies</p></li></ul><p>Ingress manages traffic routing &#128678;<br>API Gateway manages APIs intelligently &#127760;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Gateway API in Kubernetes Explained 🌉]]></title><description><![CDATA[The modern evolution of Ingress]]></description><link>https://satyamounika11.substack.com/p/gateway-api-in-kubernetes-explained</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/gateway-api-in-kubernetes-explained</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 10 Aug 2026 05:41:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YYmP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous articles, you learned about:</p><ul><li><p>Ingress</p></li><li><p>Ingress Controllers</p></li><li><p>Ingress YAML</p></li><li><p>Path Based Routing</p></li></ul><p>Ingress is still one of the most commonly used ways to manage external traffic in Kubernetes.</p><p>But as Kubernetes environments became larger and more complex, the community introduced something newer called:</p><h3>Gateway API &#127793;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YYmP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YYmP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1636252,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199211438?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YYmP!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc996c79e-ef8a-4306-9b03-889f7f123198_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let&#8217;s understand what it is in a simple beginner-friendly way.</p><div><hr></div><h3>&#129504; Why Kubernetes Introduced Gateway API</h3><p>Traditional Ingress works well for many applications.</p><p>But over time, companies needed more advanced traffic management features.</p><p>Some limitations of traditional Ingress were:</p><ul><li><p>limited flexibility</p></li><li><p>controller-specific behavior</p></li><li><p>complex annotations</p></li><li><p>difficulty managing advanced routing</p></li></ul><p>Different Ingress Controllers sometimes behaved differently, which made configurations harder to standardize.</p><p>To improve this, Kubernetes introduced:</p><h3>Gateway API &#127753;</h3><div><hr></div><h3>&#127760; What is Gateway API?</h3><p>Gateway API is a newer Kubernetes networking standard used to manage traffic routing.</p><p>It is designed to be:</p><ul><li><p>more flexible</p></li><li><p>more powerful</p></li><li><p>easier to extend</p></li><li><p>better for large production environments</p></li></ul><p>You can think of it as:</p><blockquote><p>a more advanced evolution of Ingress.</p></blockquote><div><hr></div><h3>&#9888;&#65039; Problems with Traditional Ingress</h3><p>Ingress is simple and beginner friendly.</p><p>But for large systems, teams often needed:</p><ul><li><p>advanced routing</p></li><li><p>better traffic control</p></li><li><p>role separation</p></li><li><p>reusable configurations</p></li><li><p>multi-team traffic management</p></li></ul><p>Many advanced features required:</p><ul><li><p>custom annotations</p></li><li><p>controller-specific settings</p></li></ul><p>This sometimes made configurations difficult to manage.</p><div><hr></div><h3>&#127793; Simple Beginner Comparison</h3><p>Think of it like this:</p><h4>Ingress</h4><p>Simple traffic management &#128678;</p><p>Good for:</p><ul><li><p>beginners</p></li><li><p>small to medium applications</p></li><li><p>straightforward routing</p></li></ul><div><hr></div><h4>Gateway API</h4><p>Advanced traffic management &#127753;</p><p>Better for:</p><ul><li><p>large production systems</p></li><li><p>platform engineering</p></li><li><p>advanced networking setups</p></li></ul><div><hr></div><h3>&#128739;&#65039; Gateway vs Ingress</h3><p>Ingress mainly focuses on:</p><ul><li><p>HTTP/HTTPS routing</p></li><li><p>simple path-based routing</p></li><li><p>basic external traffic management</p></li></ul><p>Gateway API introduces more structured traffic handling with better separation of responsibilities.</p><p>It provides:</p><ul><li><p>Gateways</p></li><li><p>Routes</p></li><li><p>more granular control</p></li></ul><p>But don&#8217;t worry about these details deeply right now &#127793;</p><p>As a beginner, understanding the idea is enough.</p><div><hr></div><h3>&#127757; Is Ingress Still Used?</h3><p>YES. Absolutely &#128640;</p><p>Ingress is still:</p><ul><li><p>widely used</p></li><li><p>beginner friendly</p></li><li><p>production ready</p></li><li><p>very common in Kubernetes environments</p></li></ul><p>Many companies continue using:</p><ul><li><p>NGINX Ingress Controller</p></li><li><p>Traefik</p></li><li><p>cloud-native ingress solutions</p></li></ul><p>Learning Ingress is still extremely valuable.</p><div><hr></div><h3>&#129504; Should Beginners Learn Gateway API Immediately?</h3><p>Not necessarily.</p><p>For beginners:</p><p>&#9989; Learn Services first<br>&#9989; Learn Ingress properly<br>&#9989; Understand traffic flow<br>&#9989; Practice routing concepts</p><p>Then later:</p><ul><li><p>explore Gateway API gradually</p></li></ul><p>Ingress builds the foundation &#127793;</p><div><hr></div><h3>&#127970; Real World Situation</h3><p>Today, many Kubernetes environments still use:</p><ul><li><p>Ingress</p></li><li><p>Ingress Controllers</p></li><li><p>LoadBalancers</p></li></ul><p>Some modern platforms are gradually adopting Gateway API for more advanced networking needs.</p><p>Both concepts are important in the Kubernetes ecosystem.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress like a regular road system &#128663;</p><p>It works well for normal city traffic.</p><p>Gateway API is more like a modern smart highway system &#127753;</p><p>It provides:</p><ul><li><p>better traffic organization</p></li><li><p>advanced control</p></li><li><p>scalable traffic management</p></li></ul><p>Both help vehicles reach destinations,<br>but one is designed for larger and more complex environments.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Gateway API is a newer and more advanced Kubernetes networking model.</p><p>It was introduced to solve some limitations of traditional Ingress and provide better traffic management capabilities.</p><p>However:</p><p>Ingress is still widely used and remains one of the best ways for beginners to learn Kubernetes traffic routing &#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Locking Your Kubernetes Applications with HTTPS 🔒]]></title><description><![CDATA[Securing Ingress traffic using TLS]]></description><link>https://satyamounika11.substack.com/p/locking-your-kubernetes-applications</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/locking-your-kubernetes-applications</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 03 Aug 2026 05:42:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ijgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far in this series, you learned how Ingress routes external traffic to applications inside Kubernetes.</p><p>But there is one important problem:</p><p>&#9888;&#65039; Traffic is still not secure by default.</p><p>If users send sensitive information like:</p><ul><li><p>passwords</p></li><li><p>payment details</p></li><li><p>personal data</p></li></ul><p>that traffic should be encrypted.</p><p>This is where:</p><h3>TLS/HTTPS in Ingress &#127760;becomes important.</h3><div><hr></div><h3>&#129504; What is HTTPS?</h3><p>HTTPS is the secure version of HTTP.</p><p>It encrypts communication between:</p><ul><li><p>users</p></li><li><p>browsers</p></li><li><p>applications</p></li></ul><p>This prevents attackers from reading sensitive data during transmission &#128274;</p><div><hr></div><h3>&#127793; What is TLS?</h3><p>TLS stands for:</p><h4>Transport Layer Security</h4><p>TLS is the technology that provides encryption for HTTPS.</p><p>You can think of it like this:</p><ul><li><p>HTTP &#8594; normal communication</p></li><li><p>HTTPS &#8594; encrypted communication using TLS</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ijgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ijgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1687058,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199212663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ijgv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F037fd9a5-9594-4097-86eb-6a3416450a7b_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#9888;&#65039; Why HTTPS Matters</h3><p>Without HTTPS:</p><p>&#10060; traffic is not encrypted<br>&#10060; passwords can be exposed<br>&#10060; sensitive information becomes vulnerable</p><p>With HTTPS:</p><p>&#9989; communication is encrypted<br>&#9989; data becomes secure<br>&#9989; browsers trust the application</p><p>That is why most modern websites use HTTPS &#127757;</p><div><hr></div><h3>&#127760; How TLS Works in Kubernetes Ingress</h3><p>Ingress Controllers can handle HTTPS traffic.</p><p>The Ingress Controller:</p><ul><li><p>receives encrypted traffic</p></li><li><p>uses TLS certificates</p></li><li><p>decrypts requests</p></li><li><p>forwards traffic to Services</p></li></ul><p>This allows applications to be accessed securely.</p><div><hr></div><h3>&#129534; What is a TLS Certificate?</h3><p>A TLS certificate is used to enable HTTPS.</p><p>It helps:</p><ul><li><p>encrypt traffic</p></li><li><p>verify the website identity</p></li><li><p>establish secure communication</p></li></ul><p>Ingress uses these certificates for HTTPS connections.</p><div><hr></div><h3>&#127793; TLS Secret in Kubernetes</h3><p>TLS certificates are usually stored in Kubernetes as:</p><h4>Secrets</h4><p>A Secret securely stores:</p><ul><li><p>certificate files</p></li><li><p>private keys</p></li></ul><p>Ingress references the Secret to enable HTTPS.</p><div><hr></div><h4>&#9881;&#65039; Example TLS Ingress YAML</h4><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: secure-ingress

spec:
  ingressClassName: nginx

  tls:
  - hosts:
    - myapp.com

    secretName: my-tls-secret

  rules:
  - host: myapp.com

    http:
      paths:
      - path: /
        pathType: Prefix

        backend:
          service:
            name: nginx-clusterip
            port:
              number: 80</code></code></pre><div><hr></div><h3>&#129504; Understanding Important Fields</h3><h4>tls</h4><p>Enables HTTPS configuration.</p><div><hr></div><h4>hosts</h4><pre><code><code>myapp.com</code></code></pre><p>Defines the domain using HTTPS.</p><div><hr></div><h4>secretName</h4><pre><code><code>my-tls-secret</code></code></pre><p>References the Kubernetes Secret containing TLS certificates.</p><div><hr></div><h3>&#128739;&#65039; Simple HTTPS Flow</h3><p>User Browser &#127757;<br>&#8595;<br>HTTPS Request &#128274;<br>&#8595;<br>Ingress Controller &#128678;<br>&#8595;<br>TLS Certificate Validation &#128220;<br>&#8595;<br>Service &#127793;<br>&#8595;<br>Pods &#128230;</p><p>The Ingress Controller handles encryption and secure communication.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of HTTPS like a locked package &#128230;&#128274;</p><p>Even if someone intercepts it during delivery,<br>they cannot read the contents without the key.</p><p>TLS provides that protection for internet traffic.</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>In real production environments, TLS certificates are often managed using tools like:</p><ul><li><p>cert-manager</p></li><li><p>Let&#8217;s Encrypt</p></li></ul><p>But as a beginner, focus first on understanding:</p><ul><li><p>why HTTPS matters</p></li><li><p>how TLS works with Ingress</p></li><li><p>where certificates are used</p></li></ul><p>That foundation is the most important part &#127793;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>TLS enables secure HTTPS communication in Kubernetes Ingress.</p><p>Ingress Controllers use:</p><ul><li><p>TLS certificates</p></li><li><p>Kubernetes Secrets</p></li></ul><p>to encrypt and secure external traffic &#128274;</p><p>HTTPS is essential for modern production applications and is widely used across Kubernetes environments &#127757;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Where Does Kubernetes Send Unknown Traffic? 🚧]]></title><description><![CDATA[Understanding the Default Backend in Ingress]]></description><link>https://satyamounika11.substack.com/p/where-does-kubernetes-send-unknown</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/where-does-kubernetes-send-unknown</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 27 Jul 2026 05:41:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_dj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far in this Ingress series, you learned how Kubernetes routes traffic using:</p><ul><li><p>paths</p></li><li><p>hosts</p></li><li><p>annotations</p></li><li><p>rewrite rules</p></li></ul><p>But what happens if a request does not match any Ingress rule?</p><p>Example:</p><ul><li><p>wrong URL</p></li><li><p>unknown path</p></li><li><p>invalid domain</p></li></ul><p>Where does the traffic go? &#129300;</p><p>This is where the:</p><h4>Default Backend becomes important.</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_dj7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_dj7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1454264,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199219347?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_dj7!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e1aeb8-632a-4298-8756-06422d3131c3_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What is a Default Backend?</h3><p>A Default Backend is the fallback destination for unmatched traffic in Kubernetes Ingress.</p><p>If no rule matches the incoming request,<br>traffic is forwarded to the Default Backend.</p><p>Think of it like:</p><blockquote><p>a backup route for unknown requests &#128640;</p></blockquote><div><hr></div><h3>&#127757; Real World Example</h3><p>Suppose your Ingress only handles:</p><ul><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li></ul><p>But a user accidentally visits:</p><pre><code><code>/randompage</code></code></pre><p>Ingress cannot find a matching rule.</p><p>Instead of failing silently, traffic is sent to the: <strong>Default Backend &#128679;</strong></p><div><hr></div><h3>&#9888;&#65039; Why Default Backend Is Important</h3><p>Without a Default Backend:</p><ul><li><p>users may see confusing errors</p></li><li><p>unmatched traffic becomes harder to manage</p></li><li><p>debugging becomes difficult</p></li></ul><p>The Default Backend provides a cleaner fallback behavior.</p><div><hr></div><h3>&#127793; Common Uses of Default Backend</h3><p>Default Backends are often used to:</p><ul><li><p>show custom 404 pages</p></li><li><p>display error messages</p></li><li><p>return fallback responses</p></li><li><p>handle invalid requests safely</p></li></ul><p>Very useful in production environments &#127757;</p><div><hr></div><h3>&#9881;&#65039; Simple Example</h3><p>Suppose your Ingress contains rules for:</p><ul><li><p><code>api.myapp.com</code></p></li><li><p><code>/admin</code></p></li></ul><p>Any unmatched request automatically goes to the Default Backend Service.</p><p>Example:</p><pre><code><code>unknown.myapp.com</code></code></pre><p>or</p><pre><code><code>/invalid-path</code></code></pre><p>can be handled safely.</p><div><hr></div><h3>&#127793; Example Ingress YAML</h3><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: my-ingress

spec:
  ingressClassName: nginx

  defaultBackend:
    service:
      name: default-service
      port:
        number: 80

  rules:
  - host: myapp.com

    http:
      paths:
      - path: /api
        pathType: Prefix

        backend:
          service:
            name: api-service
            port:
              number: 80</code></code></pre><div><hr></div><h3>&#128269; Understanding the Flow</h3><p>User Request &#127757;<br>&#8595;<br>Ingress Controller &#128678;<br>&#8595;<br>Checks Ingress Rules &#128196;<br>&#8595;<br>No Match Found &#10060;<br>&#8595;<br>Default Backend &#127793;<br>&#8595;<br>Fallback Response &#128230;</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of a customer support desk &#9742;&#65039;</p><p>Normally:</p><ul><li><p>customers are directed to the correct department</p></li></ul><p>But if nobody knows where the request belongs,<br>the call goes to:</p><blockquote><p>the general help desk.</p></blockquote><p>The Default Backend works similarly in Kubernetes Ingress &#128679;</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>Many Ingress Controllers already include a built-in default backend automatically.</p><p>For beginners, the important thing is understanding:</p><ul><li><p>unmatched traffic exists</p></li><li><p>fallback handling is needed</p></li><li><p>Default Backend provides that fallback</p></li></ul><p>That foundation is enough &#127793;</p><div><hr></div><h3>&#127970; Why Companies Use Default Backends</h3><p>Default Backends help production systems:</p><ul><li><p>handle invalid requests cleanly</p></li><li><p>improve user experience</p></li><li><p>simplify debugging</p></li><li><p>provide custom error pages</p></li><li><p>avoid confusing failures</p></li></ul><p>Small feature, but very useful in real-world environments &#128640;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>The Default Backend handles traffic that does not match any Ingress rule.</p><p>It acts as:</p><ul><li><p>a fallback destination</p></li><li><p>a safety mechanism</p></li><li><p>a cleaner error handling solution</p></li></ul><p>Default Backends help Kubernetes Ingress manage unknown traffic gracefully &#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Understanding Rewrite Target Annotation in Ingress✍️]]></title><description><![CDATA[Why Your Kubernetes URLs Break Without Rewrite Rules]]></description><link>https://satyamounika11.substack.com/p/why-your-kubernetes-urls-break-without</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/why-your-kubernetes-urls-break-without</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 20 Jul 2026 05:41:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-g6i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned that:</p><p><strong>Ingress Annotations </strong>help customize Ingress Controller behavior.</p><p>One of the most commonly used annotations is:</p><h3>Rewrite Target Annotation</h3><p>This annotation is extremely useful when application paths and Ingress paths do not match correctly.</p><p>Let&#8217;s understand this in a simple beginner-friendly way &#127793;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-g6i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-g6i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21a9c769-c7d8-454f-829d-957382254675_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1602003,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199218091?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-g6i!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a9c769-c7d8-454f-829d-957382254675_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What Problem Does Rewrite Target Solve?</h3><p>Sometimes applications expect traffic on:</p><pre><code><code>/</code></code></pre><p>But Ingress receives traffic on:</p><pre><code><code>/api</code></code></pre><p>Without rewriting the path:</p><ul><li><p>the application may not understand the request</p></li><li><p>pages may fail to load</p></li><li><p>APIs may return errors</p></li></ul><p>This is where Rewrite Target helps &#128640;</p><div><hr></div><h3>&#127757; Real World Example</h3><p>Imagine:</p><p>Users access:</p><pre><code><code>myapp.com/api</code></code></pre><p>But internally, the backend application expects:</p><pre><code><code>/</code></code></pre><p>Ingress can rewrite:</p><pre><code><code>/api</code></code></pre><p>into:</p><pre><code><code>/</code></code></pre><p>before forwarding traffic to the Service.</p><div><hr></div><h3>&#9881;&#65039; Rewrite Target Annotation</h3><p>Example:</p><pre><code><code>annotations:
  nginx.ingress.kubernetes.io/rewrite-target: /</code></code></pre><p>This tells the NGINX Ingress Controller:</p><blockquote><p>modify the incoming request path before forwarding traffic.</p></blockquote><div><hr></div><h3>&#127793; Example Ingress YAML</h3><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: rewrite-ingress

  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /

spec:
  ingressClassName: nginx

  rules:
  - host: myapp.com

    http:
      paths:
      - path: /api
        pathType: Prefix

        backend:
          service:
            name: api-service
            port:
              number: 80</code></code></pre><div><hr></div><h3>&#128269; What Happens Internally?</h3><p>User visits:</p><pre><code><code>myapp.com/api</code></code></pre><p>Ingress receives:</p><pre><code><code>/api</code></code></pre><p>Rewrite Target changes it to:</p><pre><code><code>/</code></code></pre><p>Traffic is then forwarded to:</p><pre><code><code>api-service</code></code></pre><p>This helps applications work correctly &#127793;</p><div><hr></div><h3>&#129504; Why Applications Need This</h3><p>Some applications are built assuming they run from:</p><pre><code><code>/</code></code></pre><p>instead of:</p><pre><code><code>/api</code></code></pre><p>Rewrite rules help adjust traffic paths without modifying the application itself.</p><p>This becomes very useful in microservices environments &#128640;</p><div><hr></div><h3>&#128739;&#65039; Simple Traffic Flow</h3><p>User Request &#127757;<br>&#8595;<br>Ingress Controller &#128678;<br>&#8595;<br>Rewrite Path &#9997;&#65039;<br>&#8595;<br>Service &#127793;<br>&#8595;<br>Pods &#128230;</p><p>The controller modifies the request path before forwarding traffic.</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>Rewrite configurations can become more advanced in production environments using:</p><ul><li><p>regex paths</p></li><li><p>capture groups</p></li><li><p>dynamic rewrites</p></li></ul><p>But as a beginner, focus mainly on understanding:</p><p>&#9989; why rewriting is needed<br>&#9989; how traffic paths change<br>&#9989; where annotations are used</p><p>That foundation matters most &#127793;</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of a package delivery system &#128230;</p><p>A package arrives with:</p><ul><li><p>an old room number</p></li></ul><p>The receptionist updates the room number before delivery.</p><p>Similarly:</p><p>Ingress rewrites the request path before sending traffic to the application.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Rewrite Target Annotation helps modify incoming request paths before traffic reaches Kubernetes Services.</p><p>It is commonly used when:</p><ul><li><p>Ingress paths</p></li><li><p>application paths</p></li></ul><p>do not match correctly.</p><p>This helps applications work properly without changing the application code &#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[The Hidden Power Behind Kubernetes Ingress 🚀]]></title><description><![CDATA[Customizing traffic behavior using Ingress annotations]]></description><link>https://satyamounika11.substack.com/p/the-hidden-power-behind-kubernetes</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/the-hidden-power-behind-kubernetes</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 13 Jul 2026 05:41:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YPxB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far in this Ingress series, you learned:</p><ul><li><p>Path Based Routing</p></li><li><p>Host Based Routing</p></li><li><p>TLS/HTTPS</p></li><li><p>Traffic routing using Ingress YAML</p></li></ul><p>But real production environments often need more control over traffic behavior.</p><p>For example:</p><ul><li><p>redirect HTTP to HTTPS</p></li><li><p>rewrite URLs</p></li><li><p>control request size</p></li><li><p>configure timeouts</p></li></ul><p>This is where:</p><h4>Ingress Annotations become very important.</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YPxB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YPxB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1629524,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199216724?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YPxB!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07aa867c-8ccc-4346-9562-3c0041df50de_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What are Ingress Annotations?</h3><p>Annotations are additional configurations added inside Kubernetes YAML files.</p><p>They help customize how the Ingress Controller behaves.</p><p>Think of annotations like:</p><blockquote><p>extra instructions for the Ingress Controller &#127793;</p></blockquote><div><hr></div><h3>&#127757; Why Annotations Are Used</h3><p>Ingress rules alone define:</p><ul><li><p>host names</p></li><li><p>paths</p></li><li><p>backend Services</p></li></ul><p>But sometimes applications need advanced behavior.</p><p>Annotations help configure things like:</p><ul><li><p>HTTPS redirection</p></li><li><p>URL rewriting</p></li><li><p>request limits</p></li><li><p>timeout settings</p></li><li><p>custom traffic behavior</p></li></ul><div><hr></div><h3>&#9881;&#65039; Where Annotations Are Added</h3><p>Annotations are usually added inside:</p><pre><code><code>metadata:</code></code></pre><p>section of the Ingress YAML.</p><p>Example:</p><pre><code><code>metadata:
  name: my-ingress

  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"</code></code></pre><div><hr></div><h3>&#127793; Simple Annotation Example</h3><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: my-ingress

  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"

spec:
  ingressClassName: nginx</code></code></pre><p>This annotation tells the NGINX Ingress Controller:</p><blockquote><p>automatically redirect HTTP traffic to HTTPS &#128274;</p></blockquote><div><hr></div><h3>&#129504; Understanding the Annotation</h3><pre><code><code>nginx.ingress.kubernetes.io/ssl-redirect: "true"</code></code></pre><p>Let&#8217;s break it down.</p><h4>nginx.ingress.kubernetes.io</h4><p>Specifies that the annotation belongs to the NGINX Ingress Controller.</p><div><hr></div><h4>ssl-redirect</h4><p>Defines the feature or behavior.</p><p>Here:</p><ul><li><p>HTTP traffic automatically redirects to HTTPS.</p></li></ul><div><hr></div><h4>&#8220;true&#8221;</h4><p>Enables the feature.</p><div><hr></div><h3>&#128678;Commonly Used Ingress Annotations</h3><p>Some popular annotations include:</p><ul><li><p>SSL redirection</p></li><li><p>URL rewriting</p></li><li><p>request body size limits</p></li><li><p>timeout configuration</p></li><li><p>rate limiting</p></li></ul><p>Different controllers may support different annotations.</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Understanding</h3><p>Annotations are often: <strong>Controller Specific</strong></p><p>This means:</p><ul><li><p>NGINX annotations may not work with Traefik</p></li><li><p>Traefik annotations may differ from AWS ALB annotations</p></li></ul><p>Different Ingress Controllers can have their own annotation styles.</p><div><hr></div><h3>&#127793; Why Annotations Became Important</h3><p>Traditional Ingress resources are intentionally simple.</p><p>Annotations helped controllers add advanced features without changing the core Kubernetes Ingress API.</p><p>They became a flexible way to customize traffic behavior.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress like ordering food at a restaurant &#127869;&#65039;</p><p>The main order is:</p><ul><li><p>the dish itself</p></li></ul><p>Annotations are like:</p><ul><li><p>extra spicy &#127798;&#65039;</p></li><li><p>less sugar &#127852;</p></li><li><p>extra cheese &#129472;</p></li></ul><p>They customize how the final result behaves.</p><div><hr></div><h3>&#9888;&#65039; One Small Problem with Annotations</h3><p>As applications became larger, too many annotations sometimes made Ingress YAML difficult to manage.</p><p>This is one reason newer solutions like:</p><h4>Gateway API &#127753;</h4><p>were introduced later.</p><p>But annotations are still heavily used in modern Kubernetes environments &#128640;</p><div><hr></div><h3>&#128739;&#65039; What&#8217;s Next?</h3><p>One of the most commonly used annotations is:</p><h4>Rewrite Target Annotation &#9997;&#65039;</h4><p>which helps modify request paths before traffic reaches applications.</p><p>We will explore that in the next article &#127793;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress Annotations are used to customize the behavior of Ingress Controllers.</p><p>They provide advanced traffic management features like:</p><ul><li><p>HTTPS redirection</p></li><li><p>URL rewriting</p></li><li><p>timeout control</p></li><li><p>request limits</p></li></ul><p>Annotations make Kubernetes Ingress much more powerful and flexible &#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[One Ingress, Multiple Domains - Host based Routing🌍]]></title><description><![CDATA[How Kubernetes routes traffic using host names]]></description><link>https://satyamounika11.substack.com/p/one-ingress-multiple-domains-host</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/one-ingress-multiple-domains-host</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 06 Jul 2026 05:42:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4QdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned about:</p><p><strong>Path Based Routing </strong>where traffic is routed using paths like:</p><ul><li><p><code>/api</code></p></li><li><p><code>/frontend</code></p></li><li><p><code>/admin</code></p></li></ul><p>But in real production environments, companies often use:</p><ul><li><p>different domains</p></li><li><p>different subdomains</p></li><li><p>separate applications</p></li></ul><p>instead of only URL paths.</p><p>This is where:</p><h4>Host Based Routing &#127760;becomes useful.</h4><div><hr></div><h3>&#129504; What is Host Based Routing?</h3><p>Host Based Routing means:</p><p>traffic is routed based on the domain name or host.</p><p>Instead of checking the path:</p><pre><code><code>/api</code></code></pre><p>Ingress checks the host name:</p><pre><code><code>api.myapp.com</code></code></pre><p>and routes traffic to the correct Service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4QdQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4QdQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3926ff31-7628-4336-9210-1452549f5872_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1554926,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199215696?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4QdQ!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3926ff31-7628-4336-9210-1452549f5872_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#127757; Real World Example</h3><p>Imagine a company running multiple applications:</p><ul><li><p><code>api.myapp.com</code></p></li><li><p><code>admin.myapp.com</code></p></li><li><p><code>shop.myapp.com</code></p></li></ul><p>Each application may use different Kubernetes Services internally.</p><p>Ingress can route traffic based on the host name automatically &#128640;</p><div><hr></div><h3>&#127793; Example Scenario</h3><p>Suppose your cluster contains:</p><ul><li><p>API Application &#8594; <code>api-service</code></p></li><li><p>Admin Dashboard &#8594; <code>admin-service</code></p></li><li><p>Shopping Application &#8594; <code>shop-service</code></p></li></ul><p>Ingress can route traffic like this:</p><ul><li><p><code>api.myapp.com</code> &#8594; <code>api-service</code></p></li><li><p><code>admin.myapp.com</code> &#8594; <code>admin-service</code></p></li><li><p><code>shop.myapp.com</code> &#8594; <code>shop-service</code></p></li></ul><p>All traffic can still enter through the same Ingress Controller &#127760;</p><div><hr></div><h3>&#9881;&#65039; Example Ingress YAML</h3><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: host-based-ingress

spec:
  ingressClassName: nginx

  rules:

  - host: api.myapp.com

    http:
      paths:
      - path: /
        pathType: Prefix

        backend:
          service:
            name: api-service
            port:
              number: 80

  - host: admin.myapp.com

    http:
      paths:
      - path: /
        pathType: Prefix

        backend:
          service:
            name: admin-service
            port:
              number: 80</code></code></pre><p>This single Ingress resource manages traffic for multiple domains &#127793;</p><div><hr></div><h3>&#128269; Understanding the Flow</h3><p>Here&#8217;s what happens internally.</p><p>User visits:</p><pre><code><code>api.myapp.com</code></code></pre><p>Ingress checks the host:</p><pre><code><code>api.myapp.com</code></code></pre><p>Traffic gets routed to:</p><pre><code><code>api-service</code></code></pre><p>Similarly:</p><pre><code><code>admin.myapp.com</code></code></pre><p>gets routed to:</p><pre><code><code>admin-service</code></code></pre><div><hr></div><h3>&#129504; Path Based Routing vs Host Based Routing</h3><h4>Path Based Routing</h4><p>Routes traffic using paths.</p><p>Examples:</p><ul><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li></ul><p>Single domain:</p><pre><code><code>myapp.com</code></code></pre><div><hr></div><h3>Host Based Routing</h3><p>Routes traffic using host names.</p><p>Examples:</p><ul><li><p><code>api.myapp.com</code></p></li><li><p><code>admin.myapp.com</code></p></li></ul><p>Multiple domains or subdomains &#127757;</p><div><hr></div><h3>&#127970; Why Companies Use Host Based Routing</h3><p>Host Based Routing is very common in production Kubernetes environments because it helps:</p><ul><li><p>separate applications clearly</p></li><li><p>organize large systems</p></li><li><p>manage subdomains easily</p></li><li><p>simplify traffic management</p></li><li><p>scale applications independently</p></li></ul><p>Large companies often run many applications under different subdomains.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of an apartment building &#127970;</p><p>The building has one main entrance.</p><p>But different apartment numbers lead visitors to different homes.</p><p>Similarly:</p><p>Ingress receives traffic at one entry point and forwards requests based on the host name.</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>Locally, custom domains like:</p><pre><code><code>api.myapp.com</code></code></pre><p>will not automatically work unless DNS or hosts file configuration is added.</p><p>For beginners, focus mainly on understanding:</p><ul><li><p>traffic flow</p></li><li><p>host matching</p></li><li><p>routing concepts</p></li></ul><p>That foundation matters most &#127793;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Host Based Routing allows Kubernetes Ingress to route traffic using domain names or subdomains.</p><p>Examples:</p><ul><li><p><code>api.myapp.com</code></p></li><li><p><code>admin.myapp.com</code></p></li></ul><p>Ingress checks the host name and forwards traffic to the correct Kubernetes Service &#127757;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Path Based Routing in Kubernetes Ingress 🛣️]]></title><description><![CDATA[One domain, multiple applications]]></description><link>https://satyamounika11.substack.com/p/path-based-routing-in-kubernetes</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/path-based-routing-in-kubernetes</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 29 Jun 2026 05:41:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!frw3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you created your first Ingress YAML and learned how traffic reaches a Service inside Kubernetes.</p><p>Now let&#8217;s explore one of the most powerful features of Ingress:</p><h3>Path Based Routing &#127760;</h3><p>This is where Kubernetes Ingress starts becoming very useful in real production environments.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!frw3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!frw3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1601599,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199193721?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!frw3!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe18ebc7c-23f0-4a15-b8b5-094b81c306b7_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What is Path Based Routing?</h3><p>Path Based Routing means:</p><p>traffic is routed based on the URL path.</p><p>Different paths can send traffic to different applications.</p><p>Example:</p><ul><li><p><code>/frontend</code></p></li><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li></ul><p>All can work under the same domain.</p><div><hr></div><h3>&#127757; Real World Example</h3><p>Imagine a company application:</p><ul><li><p><code>myapp.com/frontend</code> &#8594; frontend website</p></li><li><p><code>myapp.com/api</code> &#8594; backend API</p></li><li><p><code>myapp.com/admin</code> &#8594; admin dashboard</p></li></ul><p>Even though users access one domain:</p><pre><code><code>myapp.com</code></code></pre><p>Ingress routes traffic to different Services internally &#128640;</p><div><hr></div><h3>&#128739;&#65039; Why This Is Powerful</h3><p>Without Ingress:</p><ul><li><p>multiple LoadBalancers may be needed</p></li><li><p>multiple public IPs may be created</p></li><li><p>traffic management becomes messy</p></li></ul><p>With Ingress:</p><p>&#9989; one domain<br>&#9989; one entry point<br>&#9989; multiple applications</p><p>This creates a much cleaner architecture &#127793;</p><div><hr></div><h3>&#127793; Example Scenario</h3><p>Suppose your cluster contains:</p><ul><li><p>Frontend App &#8594; <code>frontend-service</code></p></li><li><p>Backend API &#8594; <code>api-service</code></p></li><li><p>Admin Dashboard &#8594; <code>admin-service</code></p></li></ul><p>Ingress can route traffic like this:</p><ul><li><p><code>/frontend</code> &#8594; <code>frontend-service</code></p></li><li><p><code>/api</code> &#8594; <code>api-service</code></p></li><li><p><code>/admin</code> &#8594; <code>admin-service</code></p></li></ul><div><hr></div><h3>&#9881;&#65039; Example Ingress YAML</h3><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: app-ingress

spec:
  ingressClassName: nginx

  rules:
  - host: myapp.com

    http:
      paths:

      - path: /frontend
        pathType: Prefix

        backend:
          service:
            name: frontend-service
            port:
              number: 80

      - path: /api
        pathType: Prefix

        backend:
          service:
            name: api-service
            port:
              number: 80

      - path: /admin
        pathType: Prefix

        backend:
          service:
            name: admin-service
            port:
              number: 80
</code></code></pre><p>This single Ingress resource manages traffic for multiple applications &#127757;</p><div><hr></div><h3>&#128269; Understanding the Flow</h3><p>Here&#8217;s what happens internally:</p><p>User visits:</p><pre><code><code>myapp.com/api</code></code></pre><p>Ingress Controller checks:</p><pre><code><code>/api</code></code></pre><p>Traffic is forwarded to:</p><pre><code><code>api-service</code></code></pre><p>Similarly:</p><pre><code><code>myapp.com/frontend</code></code></pre><p>goes to:</p><pre><code><code>frontend-service</code></code></pre><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of a shopping mall &#127980;</p><p>There is one main entrance.</p><p>But inside:</p><ul><li><p>one path leads to food court &#127828;</p></li><li><p>another leads to clothing store &#128085;</p></li><li><p>another leads to cinema &#127916;</p></li></ul><p>Ingress works similarly.</p><p>One domain receives traffic, then routes users to the correct application.</p><div><hr></div><h3>&#127970; Why Companies Use This</h3><p>Path Based Routing is extremely common in production environments because it helps:</p><ul><li><p>reduce infrastructure complexity</p></li><li><p>avoid multiple public IPs</p></li><li><p>organize microservices cleanly</p></li><li><p>simplify traffic management</p></li><li><p>reduce cloud costs</p></li></ul><p>Modern applications often contain many Services, and Ingress helps manage them efficiently &#128640;</p><div><hr></div><h3>&#127793; Cleaner Kubernetes Architecture</h3><p>Typical architecture becomes:</p><p>User &#127757;<br>&#8595;<br>Ingress Controller &#128678;<br>&#8595;<br>Ingress Rules &#128196;<br>&#8595;<br>Multiple Services &#127793;<br>&#8595;<br>Pods &#128230;</p><p>This is much cleaner than exposing every application separately.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Path Based Routing allows multiple applications to work under one domain using different URL paths.</p><p>Examples:</p><ul><li><p><code>/frontend</code></p></li><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li></ul><p>Ingress intelligently routes traffic to the correct Kubernetes Service based on the request path &#127760;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Your First Ingress YAML Explained 🌱]]></title><description><![CDATA[Route external traffic to your application]]></description><link>https://satyamounika11.substack.com/p/your-first-ingress-yaml-explained</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/your-first-ingress-yaml-explained</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 22 Jun 2026 05:41:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2YOz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you installed the NGINX Ingress Controller in Kubernetes.</p><p>Now it&#8217;s time to create your first:</p><h3>Ingress YAML &#128640;</h3><p>This is where traffic routing actually begins.</p><p>We will create a simple Ingress resource that routes external traffic to an application inside the cluster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2YOz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2YOz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1003309,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199191244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!2YOz!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b934cb9-77c0-4a6f-ac47-235ae6cfa200_1360x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; What an Ingress YAML Does</h3><p>Ingress YAML defines routing rules.</p><p>It tells Kubernetes:</p><ul><li><p>which requests should enter</p></li><li><p>which Service should receive traffic</p></li><li><p>which path should be used</p></li></ul><p>Think of it like a traffic instruction file &#128196;</p><div><hr></div><h3>&#127793; Basic Ingress YAML</h3><p>Here is a simple example:</p><pre><code><code>apiVersion: networking.k8s.io/v1
kind: Ingress

metadata:
  name: my-ingress

spec:
  ingressClassName: nginx

  rules:
  - host: myapp.com

    http:
      paths:
      - path: /
        pathType: Prefix

        backend:
          service:
            name: nginx-clusterip
            port:
              number: 80</code></code></pre><p>Don&#8217;t worry if this looks confusing at first &#127793;</p><p>Let&#8217;s understand it step by step.</p><div><hr></div><h4>&#127991;&#65039; ingressClassName</h4><pre><code><code>ingressClassName: nginx</code></code></pre><p>This tells Kubernetes:</p><blockquote><p>&#8220;Use the NGINX Ingress Controller for this Ingress.&#8221;</p></blockquote><p>If multiple controllers exist in the cluster, this helps Kubernetes choose the correct one.</p><p>Find the ingress file here: <a href="https://github.com/satyamounika11/k8s-substack">Github Repo</a></p><div><hr></div><h4>&#127757; host</h4><pre><code><code>host: myapp.com</code></code></pre><p>This defines the domain name.</p><p>Requests coming to:</p><pre><code><code>myapp.com</code></code></pre><p>will follow the routing rules inside this Ingress.</p><div><hr></div><h4>&#128739;&#65039; path</h4><pre><code><code>path: /</code></code></pre><p>This defines the URL path.</p><p>Example:</p><ul><li><p><code>/</code></p></li><li><p><code>/api</code></p></li><li><p><code>/admin</code></p></li></ul><p>Here:</p><pre><code><code>/</code></code></pre><p>means the root path of the application.</p><div><hr></div><h4>&#127793; backend Service</h4><pre><code><code>backend:
  service:
    name: nginx-clusterip
    port:
      number: 80</code></code></pre><p>This tells Ingress where traffic should go.</p><p>Incoming requests are forwarded to:</p><ul><li><p>Service name:</p></li></ul><pre><code><code>nginx-clusterip</code></code></pre><ul><li><p>Port:</p></li></ul><pre><code><code>80</code></code></pre><p>The Service then forwards traffic to Pods &#128230;</p><p>Do remember that we had two services that we created for examples earlier: cluster-ip and nodeport. Here I am using the service of Cluster-IP in backend.</p><div><hr></div><h3>&#128640; Apply the Ingress YAML</h3><p>Save the file as:</p><pre><code><code>ingress.yaml</code></code></pre><p>Apply it using:</p><pre><code><code>kubectl apply -f ingress.yaml</code></code></pre><p>Kubernetes will create the Ingress resource.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Yevu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Yevu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png" width="721" height="50" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:50,&quot;width&quot;:721,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5102,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199191244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 424w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 848w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Yevu!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d94c30d-295f-4c8d-8053-34e9b435fd4c_721x50.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>&#128269; Verify the Ingress</h3><p>Run:</p><pre><code><code>kubectl get ingress</code></code></pre><p>You may see output similar to:</p><pre><code><code>NAME         CLASS   HOSTS       ADDRESS   PORTS
my-ingress   nginx   myapp.com             80</code></code></pre><p>This confirms that the Ingress resource was created successfully &#127793;</p><p>Make sure that the pods are running.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BZQ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 424w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 848w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BZQ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png" width="826" height="75" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:75,&quot;width&quot;:826,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6519,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199191244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 424w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 848w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BZQ2!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaae9ecc-6366-4660-af87-659ea5b5f774_826x75.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>&#128739;&#65039; Simple Traffic Flow</h3><p>Here is the request flow:</p><p>User Request &#127757;<br>&#8595;<br>NGINX Ingress Controller &#128678;<br>&#8595;<br>Ingress Rules &#128196;<br>&#8595;<br>frontend-service &#127793;<br>&#8595;<br>Pods &#128230;</p><p>The controller reads the Ingress YAML and routes traffic correctly.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress YAML like a GPS route &#128506;&#65039;</p><p>It contains directions telling traffic where to go.</p><p>The Ingress Controller follows those directions and forwards requests to the correct Service.</p><div><hr></div><h3>&#9888;&#65039; Important Beginner Note</h3><p>Locally, the domain:</p><pre><code><code>myapp.com</code></code></pre><p>will not automatically work unless DNS or hosts file mapping is configured.</p><p>For beginners, focus mainly on understanding:</p><ul><li><p>routing logic</p></li><li><p>traffic flow</p></li><li><p>Ingress structure</p></li></ul><p>That foundation is the most important part &#127793;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress YAML defines how external traffic should reach applications inside Kubernetes.</p><p>Important fields include:</p><ul><li><p>ingressClassName</p></li><li><p>host</p></li><li><p>path</p></li><li><p>backend Service</p></li></ul><p>The Ingress Controller reads these rules and routes traffic to the correct application &#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Installing NGINX Ingress Controller in Kubernetes ⚙️]]></title><description><![CDATA[Setting up your first Ingress Controller]]></description><link>https://satyamounika11.substack.com/p/installing-nginx-ingress-controller</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/installing-nginx-ingress-controller</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 15 Jun 2026 05:41:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zhwv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned that:</p><ul><li><p>Ingress contains routing rules</p></li><li><p>Ingress Controller actually processes traffic</p></li></ul><p>Without an Ingress Controller, Ingress resources do nothing.</p><p>Now let&#8217;s install one &#128640;</p><p>We will use:</p><h3>NGINX Ingress Controller</h3><p>because it is:</p><ul><li><p>beginner friendly</p></li><li><p>widely used</p></li><li><p>easy to practice locally</p></li></ul><div><hr></div><h3>&#129504; Why Controller Installation Is Needed</h3><p>Kubernetes does not include an Ingress Controller by default.</p><p>This means:</p><ul><li><p>creating an Ingress resource alone is not enough</p></li><li><p>traffic routing will not work automatically</p></li></ul><p>We must install a controller that can:</p><ul><li><p>watch Ingress resources</p></li><li><p>receive external traffic</p></li><li><p>route requests to the correct Services</p></li></ul><div><hr></div><h3>&#9881;&#65039; Installing NGINX Ingress Controller</h3><p>The installation method depends on your Kubernetes environment.</p><p>For beginners, common local environments are:</p><ul><li><p>Minikube</p></li><li><p>Docker Desktop Kubernetes</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zhwv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zhwv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:843746,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zhwv!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80abf029-c556-4d92-ab87-2bc9cba88aa9_1360x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#128640; Installing on Minikube</h3><p>Minikube makes installation very simple.</p><p>Run this command:</p><pre><code><code>minikube addons enable ingress</code></code></pre><p>This automatically installs:</p><ul><li><p>NGINX Ingress Controller</p></li><li><p>required configurations</p></li><li><p>controller Pods</p></li></ul><div><hr></div><h3>&#128051; Installing on Docker Desktop Kubernetes</h3><p>If you are using Docker Desktop Kubernetes, run:</p><pre><code><code>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml</code></code></pre><p>This deploys the NGINX Ingress Controller into the cluster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!y1sF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 424w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 848w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!y1sF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png" width="1121" height="350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31146b19-5662-4432-b249-99d8485696b1_1121x350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:1121,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45321,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 424w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 848w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 1272w, /__u/substackcdn.com/image/fetch/$s_!y1sF!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31146b19-5662-4432-b249-99d8485696b1_1121x350.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#128269; Verify the Ingress Controller Pods</h3><p>After installation, verify that the controller Pods are running.</p><p>Run:</p><pre><code><code>kubectl get pods -n ingress-nginx</code></code></pre><p>You should see Pods similar to:</p><pre><code><code>ingress-nginx-controller-xxxxx</code></code></pre><p>Status should become:</p><pre><code><code>Running</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6cJD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 424w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 848w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6cJD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png" width="864" height="73" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:73,&quot;width&quot;:864,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7522,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 424w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 848w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6cJD!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0bc0b1d-87b3-4695-9441-673af1d1b2b5_864x73.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><p></p><h3>&#127793; Verify the Namespace</h3><p>The controller is usually installed inside a namespace called:</p><pre><code><code>ingress-nginx</code></code></pre><p>Check namespaces using:</p><pre><code><code>kubectl get namespaces</code></code></pre><p>You should see:</p><pre><code><code>ingress-nginx</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Vd4M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 424w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 848w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Vd4M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png" width="542" height="160" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:160,&quot;width&quot;:542,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12321,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 424w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 848w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Vd4M!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb248ff1b-b42c-4691-bda0-b792bbedf407_542x160.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We will learn about namespaces in depth in coming articles :)</p><div><hr></div><h3>&#129504; What Gets Created Internally</h3><p>When the controller is installed, Kubernetes creates several resources automatically.</p><p>This may include:</p><ul><li><p>Pods</p></li><li><p>Services</p></li><li><p>ConfigMaps</p></li><li><p>Roles</p></li><li><p>RoleBindings</p></li><li><p>Deployments</p></li></ul><p>The main component is the controller Pod that handles incoming traffic.</p><p>Don&#8217;t worry about understanding every resource right now &#127793;</p><p>For beginners, the important thing is:</p><p>&#9989; the controller is installed<br>&#9989; the Pods are running</p><div><hr></div><h3>&#128678;Verify the Controller Service</h3><p>Run:</p><pre><code><code>kubectl get svc -n ingress-nginx</code></code></pre><p>You may see a Service like:</p><pre><code><code>ingress-nginx-controller</code></code></pre><p>This Service exposes the controller internally or externally depending on the environment.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!yxox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 424w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 848w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!yxox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png" width="1358" height="95" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:95,&quot;width&quot;:1358,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13614,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187864?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 424w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 848w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 1272w, /__u/substackcdn.com/image/fetch/$s_!yxox!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f83801f-05ff-4bdd-aada-ff96cdfdaa33_1358x95.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>&#128739;&#65039; What Happens Next?</h3><p>Now your Kubernetes cluster is capable of:</p><ul><li><p>reading Ingress rules</p></li><li><p>receiving external traffic</p></li><li><p>routing requests to Services</p></li></ul><p>In the next article, we will create:</p><h3>Your First Ingress YAML &#127760;</h3><p>and route traffic to an application using Ingress.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress resources alone are not enough.</p><p>An Ingress Controller must be installed to:</p><ul><li><p>process traffic</p></li><li><p>watch Ingress rules</p></li><li><p>route requests correctly</p></li></ul><p>NGINX Ingress Controller is one of the most popular choices for learning Kubernetes &#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[What is an Ingress Controller in Kubernetes? 🚦]]></title><description><![CDATA[The component that actually routes traffic]]></description><link>https://satyamounika11.substack.com/p/what-is-an-ingress-controller-in</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/what-is-an-ingress-controller-in</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 08 Jun 2026 05:41:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kg2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned about Ingress and how it helps manage external traffic for multiple Services inside Kubernetes.</p><p>But there is one important thing many beginners get confused about:</p><h3>Ingress alone does not handle traffic.</h3><p>Ingress is only a set of routing rules.</p><p>Something must actually:</p><ul><li><p>receive incoming traffic</p></li><li><p>read the rules</p></li><li><p>route requests to the correct Service</p></li></ul><p>That component is called an:</p><h3>Ingress Controller </h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!kg2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!kg2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1046119,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199187059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!kg2X!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe571e63-daf7-4e75-8100-95be858fe73a_1360x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129504; Ingress Resource vs Ingress Controller</h3><p>This is the biggest beginner confusion in Kubernetes.</p><p>Let&#8217;s simplify it.</p><h4>Ingress Resource</h4><p>Ingress is a Kubernetes object that contains routing rules.</p><p>Example:</p><ul><li><p><code>/api</code> &#8594; backend Service</p></li><li><p><code>/frontend</code> &#8594; frontend Service</p></li></ul><p>It only defines:</p><ul><li><p>where traffic should go</p></li><li><p>which path maps to which Service</p></li></ul><p>Ingress itself does not process traffic.</p><p>Think of it as instructions or configuration &#128196;</p><div><hr></div><h4>Ingress Controller</h4><p>The Ingress Controller is the actual software that:</p><ul><li><p>watches Ingress rules</p></li><li><p>receives traffic</p></li><li><p>routes requests correctly</p></li></ul><p>Without the controller:<br>&#10060; Ingress rules do nothing</p><div><hr></div><h3>&#9888;&#65039; Why Ingress Alone Does Nothing</h3><p>Creating an Ingress resource without a controller is like:</p><p>writing traffic instructions on paper but having nobody follow them.</p><p>Kubernetes stores the rules,<br>but no component processes them automatically.</p><p>The Ingress Controller continuously watches the cluster for Ingress resources and applies the routing rules.</p><div><hr></div><h3>&#128064; How Ingress Controllers Watch Rules</h3><p>Ingress Controllers constantly monitor Kubernetes for changes.</p><p>When you create or update an Ingress resource:</p><ul><li><p>the controller detects the change</p></li><li><p>updates its routing configuration</p></li><li><p>starts routing traffic accordingly</p></li></ul><p>This happens automatically &#128640;</p><div><hr></div><h3>&#127760; Popular Ingress Controller: NGINX Ingress Controller</h3><p>One of the most commonly used controllers is:</p><h4>NGINX Ingress Controller</h4><p>It uses NGINX internally to manage and route traffic.</p><p>It is popular because it is:</p><ul><li><p>beginner friendly</p></li><li><p>widely used</p></li><li><p>easy to install</p></li><li><p>commonly seen in production environments</p></li></ul><p>Many Kubernetes learners start with NGINX Ingress Controller &#127793;</p><div><hr></div><h3>&#128678;Other Popular Ingress Controllers</h3><p>There are multiple Ingress Controllers available.</p><p>Some popular options are:</p><h4>Traefik</h4><p>Known for:</p><ul><li><p>simplicity</p></li><li><p>automatic configuration</p></li><li><p>developer friendly setup</p></li></ul><div><hr></div><h4>HAProxy Ingress</h4><p>Known for:</p><ul><li><p>high performance</p></li><li><p>efficient traffic handling</p></li></ul><div><hr></div><h4>AWS Load Balancer Controller</h4><p>Used mainly in AWS environments.</p><p>It integrates Kubernetes with AWS Application Load Balancers.</p><div><hr></div><h4>&#128739;&#65039; Simple Traffic Flow</h4><p>Here is the basic request flow:</p><p>User Request &#127757;<br>&#8595;<br>Ingress Controller &#128678;<br>&#8595;<br>Ingress Rules &#128196;<br>&#8595;<br>Kubernetes Service &#127793;<br>&#8595;<br>Pods &#128230;</p><p>The controller checks the rules and forwards traffic to the correct application.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress like a Google Maps route &#128506;&#65039;</p><p>But the route alone does not move the car.</p><p>The driver actually follows the route and takes you to the destination.</p><p>Similarly:</p><ul><li><p>Ingress = routing instructions</p></li><li><p>Ingress Controller = component that follows the instructions</p></li></ul><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress defines traffic routing rules.</p><p>Ingress Controller actually processes and routes the traffic.</p><p>Without an Ingress Controller:<br>&#10060; Ingress resources do nothing</p><p>NGINX Ingress Controller is one of the most popular options for learning and production Kubernetes environments &#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Beyond LoadBalancer: What is Ingress in Kubernetes? 🌐]]></title><description><![CDATA[Managing multiple applications, the smarter way]]></description><link>https://satyamounika11.substack.com/p/beyond-loadbalancer-what-is-ingress</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/beyond-loadbalancer-what-is-ingress</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 01 Jun 2026 05:41:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7CQE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous articles, you learned about different Kubernetes Service types:</p><ul><li><p>ClusterIP</p></li><li><p>NodePort</p></li><li><p>LoadBalancer</p></li></ul><p>Each Service type exposes applications in a different way.</p><p>Let&#8217;s quickly recap them before learning Ingress &#127793;</p><div><hr></div><h3>&#129504; Quick Recap of Kubernetes Services</h3><h4>ClusterIP</h4><p>ClusterIP exposes applications only inside the Kubernetes cluster.</p><p>Used for:</p><ul><li><p>internal communication</p></li><li><p>backend services</p></li><li><p>database communication</p></li></ul><p>Not accessible from outside the cluster &#128274;</p><div><hr></div><h4>NodePort</h4><p>NodePort exposes applications using a port on the Node.</p><p>Used mainly for:</p><ul><li><p>local testing</p></li><li><p>learning Kubernetes</p></li><li><p>accessing apps from your machine</p></li></ul><p>Example:</p><p><code>NodeIP:30007</code></p><div><hr></div><h4>LoadBalancer</h4><p>LoadBalancer exposes applications publicly using an external IP.</p><p>Used in:</p><ul><li><p>cloud environments</p></li><li><p>production applications</p></li><li><p>public APIs</p></li></ul><p>Users can access applications through the internet &#9729;&#65039;</p><div><hr></div><h3>&#9888;&#65039; The Problem with Multiple Load Balancers</h3><p>LoadBalancer works well for a single application.</p><p>But real applications usually contain multiple Services.</p><p>For example:</p><ul><li><p>frontend application</p></li><li><p>backend API</p></li><li><p>authentication service</p></li><li><p>admin dashboard</p></li></ul><p>If every Service uses its own LoadBalancer:</p><ul><li><p>many external IPs get created</p></li><li><p>infrastructure cost increases</p></li><li><p>traffic management becomes difficult</p></li><li><p>configuration becomes messy</p></li></ul><p>This is where Ingress becomes very useful &#128640;</p><div><hr></div><h3>&#127760; What is Ingress in Kubernetes?</h3><p>Ingress is a Kubernetes resource that manages external access to Services inside the cluster.</p><p>Instead of exposing every Service separately, Ingress provides:</p><ul><li><p>one entry point</p></li><li><p>one domain</p></li><li><p>intelligent traffic routing</p></li></ul><p>Ingress acts like a smart traffic manager.</p><div><hr></div><h3>&#127919; Why Ingress Exists</h3><p>Ingress exists to make application traffic management simpler.</p><p>It helps when:</p><ul><li><p>multiple Services need external access</p></li><li><p>one domain should route to many applications</p></li><li><p>production traffic needs better organization</p></li><li><p>public access must be managed efficiently</p></li></ul><p>Instead of many Load Balancers, one Ingress can handle traffic routing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7CQE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7CQE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:720333,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/199183950?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 424w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 848w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7CQE!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F575da2d3-f688-44e6-bf97-d5043a264baf_1360x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#127757; One Domain &#8594; Multiple Services</h3><p>Ingress allows multiple applications to work under the same domain.</p><p>Example:</p><ul><li><p><code>myapp.com</code> &#8594; frontend</p></li><li><p><code>myapp.com/api</code> &#8594; backend API</p></li><li><p><code>myapp.com/admin</code> &#8594; admin dashboard</p></li></ul><p>This is very common in real production environments.</p><div><hr></div><h3>&#128739;&#65039; Introduction to Path Based Routing</h3><p>Ingress supports something called:</p><h4>Path Based Routing</h4><p>This means traffic is routed based on the URL path.</p><p>Example:</p><p><code>/api</code> &#8594; backend Service<br><code>/frontend</code> &#8594; frontend Service</p><p>Ingress checks the request path and forwards traffic to the correct Service automatically.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Ingress like a hotel receptionist &#127976;</p><p>Visitors enter through one main entrance.</p><p>The receptionist checks where they need to go and directs them to the correct room.</p><p>Similarly:</p><p>Ingress receives incoming traffic and routes it to the correct Kubernetes Service.</p><div><hr></div><h3>&#9881;&#65039; Important Note</h3><p>Ingress itself does not directly process traffic.</p><p>It needs something called an:</p><h4>Ingress Controller</h4><p>The controller actually handles and routes the requests.</p><p>We will learn about Ingress Controllers in the next article &#127793;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Ingress is used to manage external traffic for multiple Services inside Kubernetes.</p><p>It helps:</p><ul><li><p>reduce multiple Load Balancers</p></li><li><p>use one domain</p></li><li><p>organize production traffic</p></li><li><p>route requests intelligently</p></li></ul><p>LoadBalancer exposes applications publicly &#9729;&#65039;<br>Ingress manages and routes traffic smartly &#127760;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[When Do We Use LoadBalancer Service in Kubernetes? ☁️]]></title><description><![CDATA[Public access for real world applications]]></description><link>https://satyamounika11.substack.com/p/when-do-we-use-loadbalancer-service</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/when-do-we-use-loadbalancer-service</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 25 May 2026 05:41:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0b564fb4-045c-4b19-8437-1d93bce7e836_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You&#8217;ve learned about <strong>ClusterIP</strong> and <strong>NodePort</strong> Services and how they expose applications.</p><p>There is another important Service type called <strong>LoadBalancer</strong> that is widely used in real production environments.</p><p>This Service type is mainly used when your application must be accessible to users over the internet.</p><p>Let&#8217;s understand what it does and when we use it.</p><div><hr></div><h3>&#129504; What LoadBalancer Service Does</h3><p>A LoadBalancer Service:</p><ul><li><p>exposes your application publicly</p></li><li><p>assigns an external IP address</p></li><li><p>routes traffic to Pods</p></li><li><p>distributes load across replicas</p></li><li><p>uses a cloud provider load balancer</p></li></ul><p>Users connect using a public IP or DNS name &#127757;</p><p>Traffic is automatically balanced across running Pods.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!XPEl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!XPEl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg" width="981" height="417" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:417,&quot;width&quot;:981,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68946,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188172650?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!XPEl!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c0ac94-55bb-418e-949e-758e173dcb63_981x417.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#127919; Why We Use LoadBalancer Service</h3><p>We use LoadBalancer when:</p><ul><li><p>applications must be reachable from the internet</p></li><li><p>users are outside the cluster</p></li><li><p>traffic volume can grow</p></li><li><p>high availability is required</p></li><li><p>automatic load distribution is needed</p></li></ul><p>This is common for:</p><ul><li><p>web applications</p></li><li><p>public APIs</p></li><li><p>production services</p></li><li><p>customer facing platforms</p></li></ul><div><hr></div><h3>&#9878;&#65039; Built In Traffic Distribution</h3><p>LoadBalancer Services spread incoming requests across Pods.</p><p>This gives:</p><ul><li><p>better performance</p></li><li><p>higher reliability</p></li><li><p>fault tolerance</p></li><li><p>smoother scaling</p></li></ul><p>If one Pod fails, traffic goes to others automatically.</p><div><hr></div><h3>&#127970; Where LoadBalancer Actually Works</h3><p>LoadBalancer Service works when your Kubernetes cluster runs on a <strong>cloud platform</strong>, such as:</p><ul><li><p>AWS</p></li><li><p>Google Cloud</p></li><li><p>Azure</p></li><li><p>other managed Kubernetes providers</p></li></ul><p>The cloud platform creates the external load balancer for you.</p><div><hr></div><h3>&#9888;&#65039; Important Note for Local Learners</h3><p>LoadBalancer Service does <strong>not work by default</strong> on:</p><ul><li><p>Docker Desktop Kubernetes</p></li><li><p>Minikube</p></li><li><p>kind</p></li><li><p>other local clusters</p></li></ul><p>There is no real cloud load balancer available locally.</p><p>So the external IP will stay in pending state.</p><p>For local practice, NodePort is the correct choice.</p><div><hr></div><h3>&#129504; Simple Comparison</h3><p>Think of it like this:</p><p>ClusterIP &#8594; internal only &#128274;<br>NodePort &#8594; local machine access &#128682;<br>LoadBalancer &#8594; public internet access &#9729;&#65039;</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>LoadBalancer Service is used to expose applications publicly in cloud Kubernetes clusters.</p><p>It provides external IP<br>balances traffic<br>supports production workloads</p><p>Use NodePort locally<br>Use LoadBalancer in cloud environments &#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Expose Your App Outside the Cluster Using NodePort 🌍]]></title><description><![CDATA[Create a Service and access your app from the browser]]></description><link>https://satyamounika11.substack.com/p/expose-your-app-outside-the-cluster</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/expose-your-app-outside-the-cluster</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 18 May 2026 05:42:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8c82ab7c-6426-4c48-b0e9-d55a259a2daa_986x470.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You learned that ClusterIP works only inside the cluster.</p><p>Now let&#8217;s create a <strong>NodePort Service</strong> to expose your application outside the cluster so you can access it from your browser.</p><p>This is commonly used for local learning and testing.</p><p>Let&#8217;s do it step by step.</p><div><hr></div><h3>&#129504; What NodePort Does</h3><p>A NodePort Service:</p><ul><li><p>opens a port on the node</p></li><li><p>exposes your app externally</p></li><li><p>routes traffic to matching Pods</p></li><li><p>allows browser access</p></li></ul><p>Think of it as opening a public gate &#128682;</p><div><hr></div><h4>&#128196; Step 1: Create NodePort service YAML</h4><p>Create file:</p><pre><code><code>service-nodeport.yaml</code></code></pre><p>Add:</p><pre><code><code>apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport

spec:
  type: NodePort

  selector:
    app: nginx

  ports:
    - port: 80
      targetPort: 80
      nodePort: 30007</code></code></pre><div><hr></div><h4>&#9654;&#65039; Step 2: Apply the Service</h4><pre><code><code>kubectl apply -f service-nodeport.yaml</code></code></pre><div><hr></div><h4>&#128064; Step 3: Verify Service</h4><pre><code><code>kubectl get services</code></code></pre><p>You will see something like:</p><pre><code><code>nginx-nodeport   NodePort   &#8230;   80:30007</code></code></pre><p>30007 is the external port.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!l2H9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 424w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 848w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 1272w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!l2H9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png" width="1187" height="206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:206,&quot;width&quot;:1187,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23120,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188168631?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 424w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 848w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 1272w, /__u/substackcdn.com/image/fetch/$s_!l2H9!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33fd3cb3-6d18-48b6-9b4a-1cfb6deb61ef_1187x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h4>&#127760; Step 4: Access from Browser</h4><p>If you are using Docker Desktop Kubernetes:</p><p>Open browser and visit:</p><p>http://localhost:30007</p><p>You should see nginx welcome page &#127881;</p><p>Traffic path is:</p><p>Browser &#8594; NodePort &#8594; Service &#8594; Pods</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PUdz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 424w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 848w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PUdz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png" width="1302" height="448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:448,&quot;width&quot;:1302,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188168631?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 424w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 848w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 1272w, /__u/substackcdn.com/image/fetch/$s_!PUdz!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e9d73c6-3623-484e-8294-f50f6d74aabb_1302x448.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>&#128269; Step 5: Inspect Service Routing</h4><pre><code><code>kubectl describe service nginx-nodeport</code></code></pre><p>Check:</p><ul><li><p>selector</p></li><li><p>endpoints</p></li><li><p>nodePort</p></li><li><p>connected Pods</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!YOIi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 424w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 848w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!YOIi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png" width="1062" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:39138,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188168631?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 424w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 848w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 1272w, /__u/substackcdn.com/image/fetch/$s_!YOIi!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F968a16bc-cdf8-40c7-b545-2b7a02868059_1062x469.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#9888;&#65039; Beginner Note</h3><p>NodePort is great for:</p><ul><li><p>learning</p></li><li><p>demos</p></li><li><p>local clusters</p></li></ul><p>In production, teams usually use LoadBalancer or Ingress instead.</p><p>You&#8217;ll learn those later.</p><div><hr></div><h3>&#129529; Clean Up When Done</h3><p>To delete:</p><pre><code><code>kubectl delete svc nginx-nodeport</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!iSgP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 424w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 848w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 1272w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!iSgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png" width="999" height="65" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:65,&quot;width&quot;:999,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6413,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188168631?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 424w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 848w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 1272w, /__u/substackcdn.com/image/fetch/$s_!iSgP!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe108f2e8-fcb1-4d24-b0fd-771f2803d41b_999x65.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><pre><code><code>kubectl delete -f deployment.yaml</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!HjJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!HjJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" width="1046" height="77" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:77,&quot;width&quot;:1046,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6574,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This removes the Service, Deployment and its Pods.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>NodePort exposes your app outside the cluster.</p><p>ClusterIP = internal only<br>NodePort = external access<br>Service routes traffic<br>Pods handle requests</p><p>Next topic, we can cover most used service<strong> LoadBalancer</strong>&#127991;&#65039;&#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Access Your App Inside the Cluster Using ClusterIP 🔒]]></title><description><![CDATA[Create and test an internal Kubernetes Service]]></description><link>https://satyamounika11.substack.com/p/access-your-app-inside-the-cluster</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/access-your-app-inside-the-cluster</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 11 May 2026 05:41:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4efe4ba0-46d9-46f5-bed3-fb6d1fe9a90c_992x637.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned what a Kubernetes Service is and why we need it.</p><p>Now let&#8217;s create your first real Service using the <strong>ClusterIP</strong> type and test how it works.</p><p>ClusterIP is used for <strong>internal access only</strong> inside the cluster.</p><p>Let&#8217;s try it hands on.</p><div><hr></div><h3>&#129504; What ClusterIP Does</h3><p>A ClusterIP Service:</p><ul><li><p>gives a stable internal IP</p></li><li><p>routes traffic to matching Pods</p></li><li><p>works only inside the cluster</p></li><li><p>is not directly accessible from your browser</p></li></ul><p>It is mainly used for:</p><ul><li><p>internal APIs</p></li><li><p>backend services</p></li><li><p>service to service communication</p></li></ul><p>Think of it as a private internal door &#128682;</p><div><hr></div><h4>&#9989; Step 1: Make Sure Your Deployment Is Running</h4><p>We need Pods to route traffic to.</p><p>Check:</p><pre><code><code>kubectl apply -f deployment.yaml
kubectl get deployments
kubectl get pods</code></code></pre><p>Make sure your nginx Pods are running.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!buMj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 424w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 848w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 1272w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!buMj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png" width="1142" height="235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:235,&quot;width&quot;:1142,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22876,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188164894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 424w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 848w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 1272w, /__u/substackcdn.com/image/fetch/$s_!buMj!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feefafe23-e170-4205-bf18-ceb3ad8877aa_1142x235.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h4>&#128196; Step 2: Create ClusterIP service YAML</h4><p>Create file:</p><pre><code><code>service-clusterip.yaml</code></code></pre><p>Add:</p><pre><code><code>apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip

spec:
  type: ClusterIP

  selector:
    app: nginx

  ports:
    - port: 80
      targetPort: 80</code></code></pre><p>Please find the YAML file here: <a href="https://github.com/satyamounika11/k8s-substack">Github Repo</a></p><p>The selector connects this Service to Pods with label:</p><pre><code><code>app: nginx</code></code></pre><div><hr></div><h4>&#9654;&#65039; Step 3: Apply the Service</h4><pre><code><code>kubectl apply -f service-clusterip.yaml</code></code></pre><p>Service is now created.</p><div><hr></div><h4>&#128064; Step 4: Verify Service</h4><pre><code><code>kubectl get services
(or)
kubectl get svc</code></code></pre><p>You will see a ClusterIP address assigned.</p><p>That IP is internal to the cluster.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!EauC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 424w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 848w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 1272w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!EauC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png" width="1146" height="206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:206,&quot;width&quot;:1146,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23023,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188164894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 424w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 848w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 1272w, /__u/substackcdn.com/image/fetch/$s_!EauC!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F852b3a3d-49bb-4cfe-b667-188bc17b470b_1146x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h4>&#128269; Step 5: See which Pods are connected</h4><pre><code><code>kubectl describe service nginx-clusterip
(or)
kubectl describe svc nginx-clusterip</code></code></pre><p>Look for <strong>Endpoints</strong> section.<br>Those are the Pod IPs receiving traffic.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mBLl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 424w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 848w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mBLl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png" width="1129" height="426" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:426,&quot;width&quot;:1129,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34300,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188164894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 424w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 848w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mBLl!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdece1a7b-8028-48d6-b603-5208f4a627ae_1129x426.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4>&#129514; Step 6: Test from Inside the Cluster</h4><p>Run a temporary test Pod:</p><pre><code><code>kubectl run test-client --image=busybox -it --rm -- sh</code></code></pre><p>Inside the shell run:</p><pre><code><code>wget -qO- nginx-clusterip</code></code></pre><p>You should receive nginx HTML output.</p><p>Exit with:</p><pre><code><code>exit</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6TZp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 424w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 848w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6TZp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png" width="1456" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78332,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188164894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 424w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 848w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6TZp!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38fdac60-a750-4fe8-b02b-8e4f64dddda3_1890x789.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129529; Clean Up When Done</h3><p>To delete:</p><pre><code><code>kubectl delete svc nginx-clusterip</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!89vC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 424w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 848w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 1272w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!89vC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png" width="1102" height="66" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:66,&quot;width&quot;:1102,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6322,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188164894?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 424w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 848w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 1272w, /__u/substackcdn.com/image/fetch/$s_!89vC!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27277374-b74f-4ff8-bb0d-d8786e1dffa7_1102x66.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><pre><code><code>kubectl delete -f deployment.yaml</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!HjJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!HjJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" width="1046" height="77" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:77,&quot;width&quot;:1046,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6574,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This removes the Service, Deployment and its Pods.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>ClusterIP creates an internal stable access point.</p><p>Pods can change<br>Service IP stays<br>Traffic is routed internally<br>Used for internal communication</p><p>Next, we will expose the same app <strong>outside the cluster</strong> using NodePort &#127757;&#128640;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[What Is a Service in Kubernetes? 🌐]]></title><description><![CDATA[How users access applications running in Pods]]></description><link>https://satyamounika11.substack.com/p/what-is-a-service-in-kubernetes</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/what-is-a-service-in-kubernetes</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 04 May 2026 05:41:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f663a73d-ea59-41a8-9e14-84404709369f_1001x538.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You now know how Deployments create and manage Pods.</p><p>But there is an important problem.</p><p>Pods are temporary and replaceable. Their IP addresses can change. Pods can be recreated at any time.</p><p>So how do users reliably access your application?</p><p>That is solved using a <strong>Service</strong>.</p><div><hr></div><h3>&#129504; Simple Definition</h3><p>A Service in Kubernetes provides a <strong>stable access point</strong> to a group of Pods.</p><p>It acts like a fixed front door &#128682;<br>Even if Pods behind it change.</p><p>Users connect to the Service.<br>Service forwards traffic to the right Pods.</p><div><hr></div><h3>&#10067; Why Pods Alone Are Not Enough</h3><p>Pods are not stable endpoints because:</p><ul><li><p>Pod IP can change</p></li><li><p>Pods can be deleted and recreated</p></li><li><p>replicas can increase or decrease</p></li></ul><p>Direct Pod access would break easily.</p><p>Services give stability on top of dynamic Pods.</p><div><hr></div><h3>&#128257; How Service Works</h3><p>A Service uses labels to find Pods.</p><p>Example idea:</p><p>Pods have label:</p><pre><code><code>app: nginx</code></code></pre><p>Service says:</p><p>&#8220;Send traffic to all Pods with label app = nginx&#8221;</p><p>Kubernetes keeps this mapping updated automatically.</p><div><hr></div><h3>&#129513; Common Service Types (Beginner View)</h3><p>You only need to know two for now.</p><h4>&#127968; ClusterIP</h4><p>Default type.</p><ul><li><p>internal access only</p></li><li><p>usable inside cluster</p></li><li><p>not exposed to internet</p></li></ul><div><hr></div><h4>&#128682; NodePort</h4><p>Exposes app outside cluster.</p><ul><li><p>opens a port on the node</p></li><li><p>accessible from browser</p></li><li><p>useful for local learning</p></li></ul><p>We will use this in practice.</p><div><hr></div><h3>&#9878;&#65039; Built In Load Balancing</h3><p>Services also distribute traffic.</p><p>If you have 3 Pods behind a Service:</p><ul><li><p>requests are spread across them</p></li><li><p>load is shared</p></li><li><p>reliability improves</p></li></ul><p>No manual load balancer needed for basic cases.</p><div><hr></div><h3>&#129504; Simple Analogy</h3><p>Think of Pods as workers in a shop &#127980;<br>Service is the shop counter.</p><p>Customers talk to the counter.<br>Counter routes to available workers.</p><p>Workers can change. Counter stays.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>A Service gives stable access to changing Pods.</p><p>Pods are dynamic<br>Service is stable<br>Traffic is routed automatically<br>Load is balanced</p><p>Next, we&#8217;ll do a <strong>hands-on practice</strong> and create your first Service step by step &#128640;&#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Creating Your First Deployment in Kubernetes ]]></title><description><![CDATA[Run and manage Pods the proper way]]></description><link>https://satyamounika11.substack.com/p/creating-your-first-deployment-in</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/creating-your-first-deployment-in</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 27 Apr 2026 05:41:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/835aadcf-0f4e-4490-94b5-2b6695b4f172_962x546.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, you learned that Deployments are the standard way to run applications in Kubernetes.</p><p>Now let&#8217;s create one step by step.</p><p>We will use a simple Deployment that runs an nginx container with multiple replicas.</p><p>Keep it simple. Focus on structure, not memorizing fields.</p><div><hr></div><h3>&#128196; Example Deployment YAML</h3><p>Create a file named:</p><pre><code><code>deployment.yaml</code></code></pre><p>Add this content:</p><pre><code><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment

spec:
  replicas: 2

  selector:
    matchLabels:
      app: nginx

  template:
    metadata:
      labels:
        app: nginx

    spec:
      containers:
        - name: nginx
          image: nginx
          ports:
            - containerPort: 80</code></code></pre><p>That&#8217;s enough to run your first Deployment.</p><p>Find the deployment file here: <a href="https://github.com/satyamounika11/k8s-substack">Github Repo</a></p><div><hr></div><h3>&#129504; How to Read This File</h3><p>Let&#8217;s understand the important parts.</p><h4>&#9989; kind: Deployment</h4><p>We are creating a Deployment resource, not a Pod directly.</p><div><hr></div><h4>&#9989; replicas</h4><pre><code><code>replicas: 2</code></code></pre><p>Kubernetes will keep <strong>2 Pods running</strong> at all times.</p><div><hr></div><h4>&#9989; selector and labels</h4><p>These connect the Deployment to the Pods it manages.</p><p>Think of labels like tags.<br>Deployment looks for Pods with this tag.</p><div><hr></div><h4>&#9989; template section</h4><p>This is the Pod blueprint.</p><p>Inside template you define:</p><ul><li><p>container image</p></li><li><p>name</p></li><li><p>ports</p></li></ul><p>Deployment uses this template to create Pods.</p><div><hr></div><h3>&#9654;&#65039; Apply the Deployment</h3><p>Run:</p><pre><code><code>kubectl apply -f deployment.yaml</code></code></pre><p>You should see:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bJED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 424w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 848w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bJED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png" width="1037" height="62" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:62,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5305,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 424w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 848w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bJED!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838955f-b2d0-4334-bc59-12cda6d49c5b_1037x62.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Deployment is now active.</p><div><hr></div><h3>&#128064; Verify the Deployment</h3><p>Check Deployments:</p><pre><code><code>kubectl get deployments</code></code></pre><p>You will see:</p><ul><li><p>deployment name</p></li><li><p>desired replicas</p></li><li><p>available replicas</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fQTS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 424w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 848w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fQTS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png" width="983" height="86" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:86,&quot;width&quot;:983,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7226,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 424w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 848w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 1272w, /__u/substackcdn.com/image/fetch/$s_!fQTS!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a57112-ccd8-4a78-a3a2-f724bce204f6_983x86.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>&#128230; Check the Pods Created by Deployment</h3><p>Run:</p><pre><code><code>kubectl get pods</code></code></pre><p>You should now see <strong>2 Pods</strong> running.</p><p>Their names will start with:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ce-v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 424w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 848w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ce-v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png" width="1281" height="112" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:112,&quot;width&quot;:1281,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12385,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 424w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 848w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ce-v!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94239cde-2264-47ee-9aa4-fc1ce7988dc1_1281x112.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>These Pods were created automatically by the Deployment.</p><div><hr></div><h3>&#128269; Inspect the Deployment</h3><p>For detailed info:</p><pre><code><code>kubectl describe deployment nginx-deployment</code></code></pre><p>This shows:</p><ul><li><p>replica status</p></li><li><p>Pod template</p></li><li><p>events</p></li><li><p>rollout details</p></li></ul><p>Very helpful when learning behavior.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!agmi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 424w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 848w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 1272w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!agmi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png" width="1456" height="687" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:687,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80123,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 424w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 848w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 1272w, /__u/substackcdn.com/image/fetch/$s_!agmi!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77d7f112-4bb8-41d5-bb02-c102d4d2795d_1773x837.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>&#129529; Clean Up When Done</h3><p>To delete:</p><pre><code><code>kubectl delete -f deployment.yaml</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!HjJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_webp, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!HjJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png" width="1046" height="77" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:77,&quot;width&quot;:1046,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6574,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://satyamounika11.substack.com/i/188069844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_424, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 424w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_848, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 848w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1272, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HjJV!, /__u/satyamounika11.substack.com/w_1456, /__u/satyamounika11.substack.com/c_limit, /__u/satyamounika11.substack.com/f_auto, /__u/satyamounika11.substack.com/q_auto:good, /__u/satyamounika11.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdbc121a-f0dd-4c8d-b7c2-9a1c7223f430_1046x77.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This removes the Deployment and its Pods.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>A Deployment manages Pods for you using a Pod template.</p><p>You define replicas<br>Deployment creates Pods<br>Kubernetes keeps them running<br>Scaling becomes easy</p><p>Next, we&#8217;ll learn how users actually access these Pods using <strong>Services</strong> &#127760;&#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item><item><title><![CDATA[What Is a Deployment in Kubernetes? 🚀]]></title><description><![CDATA[How Kubernetes runs and manages Pods automatically]]></description><link>https://satyamounika11.substack.com/p/what-is-a-deployment-in-kubernetes</link><guid isPermaLink="false">https://satyamounika11.substack.com/p/what-is-a-deployment-in-kubernetes</guid><dc:creator><![CDATA[Satya Mounika Mushini]]></dc:creator><pubDate>Mon, 20 Apr 2026 05:41:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ef39a8dd-9af0-42a1-8341-83b16db03bfe_1003x609.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far, you learned how to create a Pod using a YAML file.</p><p>That works well for learning.<br>But in real applications, we usually do not create Pods directly.</p><p>Instead, we use something called a <strong>Deployment</strong>.</p><p>A Deployment is the standard way to run applications in Kubernetes.</p><div><hr></div><h3>&#129504; Simple Definition</h3><p>A Deployment is a Kubernetes resource that:</p><ul><li><p>creates Pods</p></li><li><p>keeps them running</p></li><li><p>replaces failed Pods</p></li><li><p>scales Pod count</p></li><li><p>supports updates</p></li></ul><p>You define the desired state.<br>Deployment maintains it.</p><div><hr></div><h3>&#128230; Why Not Create Pods Directly</h3><p>Creating a Pod directly has limits:</p><ul><li><p>if it crashes, it stays down</p></li><li><p>no automatic replacement</p></li><li><p>no scaling</p></li><li><p>no rolling updates</p></li></ul><p>Deployments solve all of this automatically.</p><p>That is why Deployments are used in most real setups.</p><div><hr></div><h3>&#128257; What Deployment Does for You</h3><p>When you create a Deployment, Kubernetes will:</p><p>&#9989; create Pods<br>&#9989; monitor them<br>&#9989; recreate if they fail<br>&#9989; keep required count running<br>&#9989; update safely when image changes</p><p>You manage the Deployment.<br>Deployment manages the Pods.</p><div><hr></div><h2>&#128200; Scaling Made Easy</h2><p>Want more app copies running?</p><p>In a Deployment, you just change:</p><pre><code><code>replicas: 3</code></code></pre><p>Kubernetes will run 3 Pods automatically.</p><p>No manual Pod creation needed.</p><div><hr></div><h3>&#128260; Safe Application Updates</h3><p>Deployments support rolling updates.</p><p>That means:</p><ul><li><p>new Pods start first</p></li><li><p>old Pods stop gradually</p></li><li><p>application stays available</p></li></ul><p>Users do not see downtime.</p><div><hr></div><h3>&#127959;&#65039; Simple Mental Model</h3><p>Think like this &#129504;</p><p>Pod = single worker<br>Deployment = team manager</p><p>You don&#8217;t hire workers one by one.<br>You tell the manager how many you need.</p><div><hr></div><h3>&#128064; You Can Still View Pods</h3><p>Even when using Deployments, you can still run:</p><pre><code><code>kubectl get pods</code></code></pre><p>Pods will appear, but they are now controlled by the Deployment.</p><p>You normally don&#8217;t manage them directly.</p><div><hr></div><h3>&#127919; Key Takeaway</h3><p>Deployments are the proper way to run applications in Kubernetes.</p><p>They create Pods<br>keep them healthy<br>scale them<br>update them safely</p><p>Next, we will create a <strong>Deployment YAML file</strong> and run it step by step &#9881;&#65039;&#127793;</p><div><hr></div><p>&#10024; <strong>Thanks for reading!</strong></p><p>I publish posts on DevOps regularly. So, make sure you <strong>subscribe</strong> to get the latest updates straight to your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://satyamounika11.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/satyamounika11.substack.com/subscribe"><span>Subscribe now</span></a></p><p>If you enjoy my content and find it valuable, you can support me with a coffee. Every contribution, big or small, helps me keep creating more free content for you.</p><p>&#128155;You can support me here: <strong><a href="https://buymeacoffee.com/satyamounika11">Buy Me a Coffee</a></strong></p>]]></content:encoded></item></channel></rss>