Day 2: What Are Pods in Kubernetes? And Why Doesn’t It Just Run Containers?

Let’s Start With What You Might Know

In the Day 1 blog, we introduced containers as a way to package apps with everything they need to run anywhere.

And you may have heard that Kubernetes manages containers.

So naturally, you might think…

💬 “Kubernetes = Runs containers, right?”

Well… yes, but not directly. Kubernetes doesn’t manage containers one by one. Instead, it wraps them in something called a Pod.

Let’s understand why.


First, What Is a Pod?

Pod is the smallest deployable unit in Kubernetes. It’s like a tiny box that holds one or more containers, along with some shared resources.

You can think of a Pod as:

  • A wrapper around your container(s)
  • With some shared memory/network
  • That Kubernetes can create, manage, and scale easily
But Why Add This “Pod” Layer? Why Not Just Use Containers?

Great question. Here’s why Kubernetes uses Pods:

1️⃣ Sometimes You Need Multiple Containers to Work Together

Imagine this:

  • Your app runs in one container
  • A helper container logs everything your app does

You want them to:

  • Share the same IP
  • Access the same files
  • Be deployed together, live together, die together

💡 That’s exactly what a Pod does — it lets multiple containers work like a single unit.

2️⃣ Pods Give Kubernetes More Control

With Pods, Kubernetes can:

  • Restart just the Pod if something crashes
  • Attach configurations (like Secrets and ConfigMaps) more easily
  • Monitor and scale apps in units that make sense

3️⃣ Separation of Concerns = Better Design

Kubernetes focuses on Pods, and inside those Pods, you define how containers work.
It’s a clean way to separate concerns:

  • Kubernetes: "I’ll manage Pods"
  • You: "I’ll decide what goes inside them"

Real-World Analogy: Understanding a Pod

Think of a Pod like a room in an apartment:

  • The room = Pod
  • Roommates = Containers who share the same kitchen, Wi-Fi, and AC
  • They can talk to each other easily and live/die together
  • Each room has its own address (IP), and Kubernetes knows which room is which

How Pods Work in Practice

When you deploy an app on Kubernetes:

  • You create a Deployment
  • That Deployment manages ReplicaSets
  • ReplicaSets spin up Pods
  • And Pods run your container(s)
🔗 So it’s like: You → Deployment → ReplicaSet → Pod → Container

You’ll hear this a lot in DevOps interviews:

🚨 "Kubernetes doesn’t run containers — it runs Pods."

Now you know why.

Quick Summary

  • Pod is a wrapper around one or more containers
  • Pods are the smallest unit Kubernetes deploys, manages, and scales
  • Multiple containers in a Pod share storage, network, and lifecycle
  • Kubernetes uses Pods to organize, monitor, and control apps more effectively

Try It Yourself (Optional but Awesome)

You can launch your first Pod right now using the KodeKloud Kubernetes Playground — no setup needed!

👉 Launch Playground

Just run:

kubectl run myapp --image=nginx
kubectl get pods

This will spin up your very first Kubernetes Pod!


Don’t Miss Next Lesson

📅 Day 3: Understanding Nodes, Clusters & the Kubernetes Control Plane
We’ll break down how your Pods actually run on physical or virtual machines and who’s in charge of managing them.


📬 Follow us on LinkedIn and Twitter to get notified as we release each day’s blog.

📺 Subscribe to KodeKloud on YouTube — where beginners become Kubernetes-ready.