<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Manikanta majeti</title>
    <description>The latest articles on Forem by Manikanta majeti (@mmk4mmk).</description>
    <link>https://forem.com/mmk4mmk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3066478%2F8a42c318-1e1a-4b9f-8555-54dcd574b532.png</url>
      <title>Forem: Manikanta majeti</title>
      <link>https://forem.com/mmk4mmk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mmk4mmk"/>
    <language>en</language>
    <item>
      <title>Why Kubernetes Alone Isn’t Enough: The Case for API Gateways and Service Meshes</title>
      <dc:creator>Manikanta majeti</dc:creator>
      <pubDate>Sat, 07 Mar 2026 06:17:19 +0000</pubDate>
      <link>https://forem.com/mmk4mmk/why-kubernetes-alone-isnt-enough-the-case-for-api-gateways-and-service-meshes-2cg0</link>
      <guid>https://forem.com/mmk4mmk/why-kubernetes-alone-isnt-enough-the-case-for-api-gateways-and-service-meshes-2cg0</guid>
      <description>&lt;p&gt;&lt;a href="https://youtu.be/HklwECGXoHw" rel="noopener noreferrer"&gt;&lt;/a&gt;---&lt;/p&gt;

&lt;h2&gt;
  
  
  canonical_url: &lt;a href="https://faun.pub/why-kubernetes-alone-isnt-enough-the-case-for-api-gateways-and-service-meshes-2ee856ce53a4" rel="noopener noreferrer"&gt;https://faun.pub/why-kubernetes-alone-isnt-enough-the-case-for-api-gateways-and-service-meshes-2ee856ce53a4&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;If Kubernetes already handles networking, why do we need API Gateways and Service Meshes like Istio?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes (K8s) has become the go-to platform for deploying and scaling modern applications. It abstracts away infrastructure complexity, automates container orchestration, and provides resilience out of the box.&lt;/p&gt;

&lt;p&gt;But there’s one question I often get asked:&lt;/p&gt;

&lt;p&gt;👉 &lt;em&gt;“If Kubernetes already handles networking, why do we need API Gateways and Service Meshes like Istio?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The short answer: Kubernetes provides the &lt;strong&gt;runway,&lt;/strong&gt; but you still need &lt;strong&gt;air traffic control&lt;/strong&gt; and &lt;strong&gt;security checkpoints&lt;/strong&gt; to ensure &lt;strong&gt;safe, controlled travel.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s explore why.&lt;/p&gt;

&lt;h3&gt;
  
  
  North-South vs. East-West Traffic
&lt;/h3&gt;

&lt;p&gt;To understand the gaps, it’s important to distinguish between two directions of traffic inside Kubernetes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;North-South Traffic&lt;/strong&gt; → communication between &lt;strong&gt;external clients&lt;/strong&gt; and services inside the cluster. (Example: a user accessing your app through an API endpoint.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;East-West Traffic&lt;/strong&gt; → communication &lt;strong&gt;between services within the cluster&lt;/strong&gt;. (Example: Service A calls Service B for data.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kubernetes Services and Ingress provide the basics for connecting this traffic — but “ &lt;strong&gt;basic&lt;/strong&gt; ” is the key word.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kubernetes Network Policies: The Built-in Guardrails
&lt;/h3&gt;

&lt;p&gt;Before diving into advanced tools, let’s acknowledge what Kubernetes does offer.&lt;/p&gt;

&lt;p&gt;Kubernetes comes with &lt;strong&gt;Network Policies&lt;/strong&gt; , which act as a basic firewall inside the cluster. They let you define rules such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which pods can communicate with which other pods.&lt;/li&gt;
&lt;li&gt;Which external IPs or CIDRs are allowed.&lt;/li&gt;
&lt;li&gt;Whether connections are ingress-only, egress-only, or both.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is incredibly valuable. By default, pods in Kubernetes can talk to each other freely — Network Policies put up the first layer of &lt;strong&gt;guardrails&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But here’s the catch:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Network Policies are &lt;strong&gt;IP/label-based&lt;/strong&gt;. They don’t understand application protocols, authentication headers, or user identity.&lt;/li&gt;
&lt;li&gt;They don’t offer &lt;strong&gt;traffic shaping&lt;/strong&gt; (like retries, circuit breaking, or canary deployments).&lt;/li&gt;
&lt;li&gt;They provide &lt;strong&gt;no observability or encryption&lt;/strong&gt; between services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 In other words: Network Policies keep the doors locked, but they don’t check &lt;em&gt;who’s knocking&lt;/em&gt; or &lt;em&gt;why they’re there&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This is exactly where API Gateways and Service Meshes step in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enter API Gateway: Your Airport Gate
&lt;/h3&gt;

&lt;p&gt;For &lt;strong&gt;north-south traffic&lt;/strong&gt; , an API Gateway acts as the &lt;strong&gt;gatekeeper&lt;/strong&gt; at the airport entrance.&lt;/p&gt;

&lt;p&gt;It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authenticates incoming requests.&lt;/li&gt;
&lt;li&gt;Validates payloads and enforces rate limits.&lt;/li&gt;
&lt;li&gt;Routes requests to the right backend service.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it as the &lt;strong&gt;check-in counter&lt;/strong&gt; at an airport: only passengers with the right ticket can proceed, and their baggage is screened before entry.&lt;/p&gt;

&lt;p&gt;Without a gateway, every service would have to implement its own external security and request validation — a recipe for duplication and inconsistency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enter Istio: Your Airport Security Inside the Terminal
&lt;/h3&gt;

&lt;p&gt;For &lt;strong&gt;east-west traffic&lt;/strong&gt; , Istio (a service mesh) is like the &lt;strong&gt;airport’s internal security system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides &lt;strong&gt;mTLS encryption&lt;/strong&gt; between services.&lt;/li&gt;
&lt;li&gt;Enforces &lt;strong&gt;fine-grained, application-aware policies&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Offers &lt;strong&gt;traffic control&lt;/strong&gt; (blue/green, canary, retries, circuit breaking).&lt;/li&gt;
&lt;li&gt;Delivers &lt;strong&gt;deep observability&lt;/strong&gt; with metrics and tracing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of Istio as the &lt;strong&gt;security gates and flight information systems&lt;/strong&gt; : they keep unauthorized movement in check, scan interactions, and make sure flights (services) run on schedule with full visibility.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4a9fv2yqcpppli9upfky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4a9fv2yqcpppli9upfky.png" width="582" height="139"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;K8s Network Policy vs ISTIO Service Mesh&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Power-Up: Gateway + Mesh Together
&lt;/h3&gt;

&lt;p&gt;Individually, an API Gateway and Istio solve specific problems. Together, they give your Kubernetes environment &lt;strong&gt;airport-grade security and control&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;API Gateway&lt;/strong&gt; secures and manages &lt;strong&gt;north-south traffic&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Istio&lt;/strong&gt; secures and manages &lt;strong&gt;east-west traffic&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Combined, they elevate Kubernetes from just a “runway” to a &lt;strong&gt;full airport with checkpoints, security, and flight control&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without them, Kubernetes provides the planes and runway — but leaves you vulnerable to misrouted flights, unauthorized passengers, and security blind spots.&lt;/p&gt;

&lt;h3&gt;
  
  
  Closing Thoughts
&lt;/h3&gt;

&lt;p&gt;Kubernetes is powerful, but it’s not a security or traffic-management silver bullet.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Network Policies give you a solid foundation.&lt;/li&gt;
&lt;li&gt;API Gateways add control over external entry points.&lt;/li&gt;
&lt;li&gt;Service Meshes like Istio bring deep visibility and in-cluster security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they transform Kubernetes from “just orchestration” into a &lt;strong&gt;resilient, secure, production-ready platform&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So, next time someone asks:&lt;br&gt;&lt;br&gt;
 👉 &lt;em&gt;“Why do we need API Gateway and Istio when we already have Kubernetes?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can answer confidently:&lt;br&gt;&lt;br&gt;
 &lt;strong&gt;“Because Kubernetes gives you the runway — but you still need airport-grade security to keep the flights safe.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✈️ And if you want to see this analogy in action, check out my article:&lt;br&gt;&lt;br&gt;
 👉 &lt;a href="https://faun.pub/how-api-gateways-and-istio-service-mesh-work-together-for-serving-microservices-hosted-on-a-k8s-8dad951d2d0c?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;How API Gateways and Istio Service Mesh Work Together (Airport Analogy)&lt;/a&gt;&lt;/p&gt;




</description>
      <category>apigateway</category>
      <category>kubernetes</category>
      <category>istio</category>
    </item>
    <item>
      <title>Workload Identity Federation Explained in 2 Minutes (with a School Trip Analogy)</title>
      <dc:creator>Manikanta majeti</dc:creator>
      <pubDate>Sat, 16 Aug 2025 13:10:24 +0000</pubDate>
      <link>https://forem.com/mmk4mmk/workload-identity-federation-explained-in-2-minutes-with-a-school-trip-analogy-hdf</link>
      <guid>https://forem.com/mmk4mmk/workload-identity-federation-explained-in-2-minutes-with-a-school-trip-analogy-hdf</guid>
      <description>&lt;p&gt;Static keys and long-lived credentials are one of the biggest risks in cloud workloads.&lt;/p&gt;

&lt;p&gt;In this 2-minute video, I explain Workload Identity Federation (WIF) using a simple school trip analogy — students, teachers, buses, and wristbands — to make the concept crystal clear.&lt;/p&gt;

&lt;p&gt;Key Takeaways:&lt;/p&gt;

&lt;p&gt;The risks of static keys&lt;br&gt;
How WIF works step by step&lt;br&gt;
Benefits of short-lived tokens&lt;br&gt;
When to use (and when not to use) WIF&lt;/p&gt;

&lt;p&gt;Watch here → &lt;a href="https://youtu.be/UZa5LWndb8k" rel="noopener noreferrer"&gt;https://youtu.be/UZa5LWndb8k&lt;/a&gt;&lt;br&gt;
Read more at → &lt;a href="https://medium.com/@mmk4mmk.mrani/how-my-kids-school-trip-helped-me-understand-workload-identity-federation-f680a2f4672b" rel="noopener noreferrer"&gt;https://medium.com/@mmk4mmk.mrani/how-my-kids-school-trip-helped-me-understand-workload-identity-federation-f680a2f4672b&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear your thoughts — are you already using WIF in your org?&lt;/p&gt;

</description>
      <category>cloudsecurity</category>
      <category>iam</category>
      <category>workloadidentityfederation</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>IAM Explained, by the Avengers</title>
      <dc:creator>Manikanta majeti</dc:creator>
      <pubDate>Wed, 13 Aug 2025 15:02:03 +0000</pubDate>
      <link>https://forem.com/mmk4mmk/iam-explained-by-the-avengers-140l</link>
      <guid>https://forem.com/mmk4mmk/iam-explained-by-the-avengers-140l</guid>
      <description>&lt;p&gt;🦸‍♂️ What if your team had superhero powers… but no boundaries?&lt;br&gt;
Thor smashes production. Spidey deletes your logs. Chaos.&lt;/p&gt;

&lt;p&gt;⚡ Here’s how to bring order to your superhero squad with IAM:&lt;br&gt;
🎥 Watch the comic-style explainer → &lt;a href="https://youtu.be/GJaBXQXJ35I" rel="noopener noreferrer"&gt;https://youtu.be/GJaBXQXJ35I&lt;/a&gt;&lt;br&gt;
📖 Read the full breakdown → &lt;a href="https://medium.com/faun/iam-explained-by-the-avengers-39a3fe4265e5" rel="noopener noreferrer"&gt;https://medium.com/faun/iam-explained-by-the-avengers-39a3fe4265e5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great power… great responsibility. And a lot fewer broken servers. 😅&lt;/p&gt;

</description>
      <category>iam</category>
      <category>gcp</category>
      <category>aws</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why Platform Engineering? A Tale from a Busy Kitchen</title>
      <dc:creator>Manikanta majeti</dc:creator>
      <pubDate>Mon, 07 Jul 2025 11:13:59 +0000</pubDate>
      <link>https://forem.com/mmk4mmk/why-platform-engineering-a-tale-from-a-busy-kitchen-i3p</link>
      <guid>https://forem.com/mmk4mmk/why-platform-engineering-a-tale-from-a-busy-kitchen-i3p</guid>
      <description>&lt;p&gt;What if developers were chefs expected to run the entire restaurant — cooking, cleaning, provisioning ingredients, and keeping the kitchen running?&lt;/p&gt;

&lt;p&gt;In Part 1 of my Platform Engineering series, I dive into:&lt;br&gt;
🍳 The overwhelming DevOps burden on developers&lt;br&gt;
⚙️ Where Platform Engineers, SREs, and DevOps intersect&lt;br&gt;
📈 How internal platforms help teams scale with sanity&lt;/p&gt;

&lt;p&gt;This isn’t just theory — it's a story, an analogy, and a framework to rethink your dev workflow.&lt;/p&gt;

&lt;p&gt;Watch of YouTube:&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/EeLPqK_YUQo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Read on Medium:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://medium.com/@mmk4mmk.mrani/why-platform-engineering-a-tale-from-a-busy-kitchen-ae1d8f2615a4" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;medium.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>devops</category>
      <category>sre</category>
      <category>platformers</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Kubernetes Workloads &amp; Services — Explained with an Amusement Park Analogy</title>
      <dc:creator>Manikanta majeti</dc:creator>
      <pubDate>Sun, 20 Apr 2025 10:43:15 +0000</pubDate>
      <link>https://forem.com/mmk4mmk/kubernetes-workloads-services-explained-with-an-amusement-park-analogy-235m</link>
      <guid>https://forem.com/mmk4mmk/kubernetes-workloads-services-explained-with-an-amusement-park-analogy-235m</guid>
      <description>&lt;p&gt;Hey folks 👋 — here’s a fun analogy-driven explainer on Kubernetes workloads and services. Hope it helps simplify things for you!&lt;/p&gt;

&lt;p&gt;Ever felt overwhelmed trying to understand Kubernetes workloads and services? Let’s make it fun — imagine it’s an amusement park!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Goal of this article&lt;/strong&gt;&lt;br&gt;
Kubernetes can be &lt;strong&gt;overwhelming&lt;/strong&gt; for beginners. But what if we took a step back and viewed it through a lens we all understand — an amusement park?&lt;/p&gt;

&lt;p&gt;This article is structured to help readers first understand the technical Kubernetes concepts (workloads and services) and then bring them to life using an engaging analogy.&lt;/p&gt;

&lt;p&gt;If you prefer &lt;strong&gt;visual explanations&lt;/strong&gt; &lt;strong&gt;🎥 Watch the full journey on YouTube&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/nvuAfVPdzss"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Don’t forget to &lt;strong&gt;like, share, and subscribe&lt;/strong&gt; to stay updated on the next chapters!&lt;/p&gt;

&lt;p&gt;And stay tuned for the next chapter: &lt;strong&gt;Managing Microservice Traffic Like a Pro with Istio.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Section 1&lt;/strong&gt;: &lt;strong&gt;Kubernetes Workloads: What Actually Runs Your Code&lt;/strong&gt;&lt;br&gt;
At its core, a workload is anything you deploy on Kubernetes to do work. Let’s walk through the K8s Workload types:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5emdowrq929sqr42sox.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5emdowrq929sqr42sox.jpg" alt="K8s Workloads types"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pods&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The smallest deployable unit in K8s&lt;/li&gt;
&lt;li&gt;One or more containers that share storage, network, and a spec.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: hello-pod
spec:
  containers:
    - name: hello-container
      image: nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Above is code snippet for creation of a pod with a single container running NGINX. Nothing fancy here.&lt;/p&gt;

&lt;p&gt;Sometimes a pod is standalone. Sometimes, there are copies of the same pod running across the K8s. Which brings us to…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ReplicaSets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure a specified number of Pod replicas are running at all times.&lt;/li&gt;
&lt;li&gt;Usually managed by Deployments directly.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: hello-replicaset
spec:
  replicas: 3
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      containers:
        - name: hello-container
          image: nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Above is code snippet for creation of a ReplicaSet which ensures there are always 3 pods running the same app. If one fails, it’s recreated.&lt;/p&gt;

&lt;p&gt;A ReplicaSet ensures that a specific number of pod replicas are always running. If one breaks, another is spun up immediately as they are managed by….&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployments&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used for stateless applications.&lt;/li&gt;
&lt;li&gt;They manage replicas of Pods and handle updates and rollbacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Imagine a smart system that not only monitors replicas but also updates them, rolls them out gradually, or rolls them back if anything fails. That’s a Deployment — your operations manager for all of our pods + ReplicaSets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      containers:
        - name: hello-container
          image: nginx:1.21
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above is code snippet for creation of Deployments that takes care of managing app updates. Want to change the image version? Just update it here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StatefulSets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For stateful applications like databases.&lt;/li&gt;
&lt;li&gt;Each Pod gets a persistent identity and storage.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: db-stateful
spec:
  serviceName: "db"
  replicas: 2
  selector:
    matchLabels:
      app: db
  template:
    metadata:
      labels:
        app: db
    spec:
      containers:
        - name: db
          image: mongo
          volumeMounts:
            - name: data
              mountPath: /data/db
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 1Gi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above is a code snippet for StatefulSet. Each StatefulSet pod has a unique name and its own persistent storage — ideal for databases or apps needing state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jobs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run a task to completion (e.g., batch data processing).&lt;/li&gt;
&lt;li&gt;Once done, it doesn’t restart.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: batch/v1
kind: Job
metadata:
  name: run-once-job
spec:
  template:
    spec:
      containers:
        - name: hello
          image: busybox
          command: ["echo", "Hello from the job"]
      restartPolicy: Never
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above is a code snippet for Jobs. Jobs are used for one-off tasks, like data migration or sending one-time emails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CronJobs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Like Jobs, but run on a schedule (e.g., backups every night).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: batch/v1
kind: CronJob
metadata:
  name: daily-task
spec:
  schedule: "0 6 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: task
              image: busybox
              command: ["echo", "Good morning!"]
          restartPolicy: OnFailure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above is a code snippet for CronJobs. CronJobs run on a schedule. This one says: run at 6 AM every day&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DaemonSets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run one copy of a Pod on every node (e.g., for logging or monitoring agents).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: log-agent
spec:
  selector:
    matchLabels:
      name: log-agent
  template:
    metadata:
      labels:
        name: log-agent
    spec:
      containers:
        - name: agent
          image: fluentd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code snippet is for DaemonSets that ensure one pod runs on every node — great for log collectors, security scanners, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Section 2: Kubernetes Services: Connecting the Dots&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;The Need for Services — Managing Entry Points&lt;/strong&gt;&lt;br&gt;
While workloads are doing the work, services make sure they can be found and talked to.&lt;/p&gt;

&lt;p&gt;We need to expose pods reliably — sometimes internally, sometimes externally. We also need &lt;strong&gt;routing rules, load balancing, and access controls&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s walk through the types of service entry points.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjd97blgkfm266isj2xqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjd97blgkfm266isj2xqr.png" alt="K8s Service types"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ClusterIP (default)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Internal-only communication.&lt;/li&gt;
&lt;li&gt;Useful when components within the cluster need to talk to each other.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: ClusterIP  # Internal-only access
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376  # Port exposed by the container
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;NodePort&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exposes a pod on a specific port on each Node’s IP&lt;/li&gt;
&lt;li&gt;Useful for basic external access.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata:
  name: nodeport-service
spec:
  type: NodePort 
  selector:
    app: frontend
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30007
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;LoadBalancer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assigns an external IP and distributes incoming traffic.&lt;/li&gt;
&lt;li&gt;Distributing external traffic evenly across pods.&lt;/li&gt;
&lt;li&gt;It creates a cloud provider-manged external load balancer with a public IP.&lt;/li&gt;
&lt;li&gt;Often used in production environments.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata:
  name: loadbalancer-service
spec:
  type: LoadBalancer
  selector:
    app: frontend
  ports:
    - port: 80
      targetPort: 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Ingress&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Acts as a smart entry point, routing HTTP requests based on the path or host.&lt;/li&gt;
&lt;li&gt;Can be integrated with TLS, rate-limiting, and more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Routing traffic based on path rules like /customers, /payments, /orders. It consolidates external access through a single smart gateway.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app-ingress
spec:
  rules:
    - host: app.example.com
      http:
        paths:
          - path: /payments
            pathType: Prefix
            backend:
              service:
                name: payments-service
                port:
                  number: 80
          - path: /orders
            pathType: Prefix
            backend:
              service:
                name: orders-service
                port:
                  number: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now for the Fun Part: Kubernetes Park&lt;/strong&gt;&lt;br&gt;
Now that the fundamentals are clear, let’s turn on the lights and enter the park. Let’s take a walk through Kubernetes Park, and meet its quirky residents: the workloads and the service types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Section 3: Workloads Zone: The Backbone of the Park&lt;/strong&gt;&lt;br&gt;
Each ride, game, and attraction in the park is a workload — something that does the actual work to keep the park running.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Welcome Map Recap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4y1pwfolcs9vbeham443.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4y1pwfolcs9vbeham443.png" alt="K8s comparison with Park analogy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Pods — The Basic Ride&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think of a Pod as a single ride or stall — like a popcorn stand or a bumper car setup.&lt;/li&gt;
&lt;li&gt;It’s the smallest deployable unit in the park. Each one runs a specific task (a container), and when it crashes, it’s just… gone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real-world note&lt;/strong&gt;: Pods aren’t meant to live long. They’re ephemeral and usually managed by something smarter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;♻️ ReplicaSets — Ensuring There Are Enough Rides&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imagine a supervisor walking around ensuring you always have 3 bumper car rides running, even if one breaks down. That’s a ReplicaSet.&lt;/li&gt;
&lt;li&gt;It ensures the right number of identical pods are always active.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🚀 Deployments — Managers Who Plan the Shows&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;These are the smart managers deciding when to roll out a new show, upgrade old rides, or scale the number of rides up or down.&lt;/li&gt;
&lt;li&gt;Deployments use ReplicaSets underneath but add the magic of controlled updates and rollbacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🧳 StatefulSets — Personalized, Memory-Heavy Attractions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some attractions, like personalized escape rooms, need to remember who visited them. That’s StatefulSets — pods with persistent identities and stable storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;⏱️ Jobs — One-Time Shows&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imagine organizing a one-off fireworks show at night — it happens once, and then it’s done. That’s what a Job is — runs once and completes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🕰️ CronJobs — Scheduled Park Events&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think of those scheduled magic shows at 6 PM every day — that’s a CronJob in Kubernetes, recurring on a schedule like clockwork.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🌍 DaemonSets — Staff Assigned to Every Zone&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some team members (like janitors or security) must be present in every zone of the park. That’s what DaemonSets are — one pod per node, always.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Section 4: Services Zone: Navigating the Park&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Workloads is nothing but having attractions — Services is to let people find those attractions. Services in Kubernetes act as entry points or guides for traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛜 ClusterIP — Staff Walkie-Talkie Network&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only staff can talk to each other internally using their walkie-talkies. That’s what a ClusterIP does — enables internal communication between attractions.
&lt;strong&gt;Example&lt;/strong&gt;: The ticket counter wants to talk to the food stalls backend. ClusterIP connects them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🚪 NodePort — Side Staff-Only Gate&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imagine a special staff entrance on the side, accessible via a unique pass.&lt;/li&gt;
&lt;li&gt;That’s NodePort — exposes a service on a specific port externally.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🌀 LoadBalancer — Grand Main Entrance&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your public-facing main entrance, with fancy gates and automatic load balancers routing visitors evenly to different rides. That’s a LoadBalancer service.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🤖 Ingress — Smart Robot Tour Guide&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A futuristic welcome center with a smart robot who asks, “Do you want rides, food, or games?” and routes you to the right section.
That’s Ingress, handling path-based routing, SSL, and more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🎟️ Coming Up Next…The Service Mesh Story 🧩&lt;/strong&gt;&lt;br&gt;
Even with the park fully operational, new challenges arise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Surge in visitors (traffic control)&lt;/li&gt;
&lt;li&gt;Need for observability (who’s going where?)&lt;/li&gt;
&lt;li&gt;Enforcing rules (who’s allowed on what ride?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where **Istio **and the service mesh come in — providing fine-grained control, security, and insights across your microservices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What did you think of the theme park analogy?&lt;/strong&gt; Do you have your own creative way of understanding complex systems like Kubernetes?&lt;br&gt;
Let me know your thoughts, analogies, or questions in the comments — I’d love to hear them!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>techsimplified</category>
      <category>k8sworkloads</category>
      <category>microservices</category>
    </item>
  </channel>
</rss>
