1.1 Chapter 1 · Pods & Containers

What is a Pod?

The smallest thing Kubernetes knows about. Everything starts here.

5 min read Beginner CKA · CKAD

Before you can understand Kubernetes, you need to understand Pods. Not because they are complicated they are not but because they are the atomic unit of everything. When you ask Kubernetes to run something, it always runs it inside a Pod.

Think of Kubernetes as a city. Containers are people. And Pods are apartments. A person does not just wander the city they live somewhere. That somewhere gives them an address, shared walls, shared utilities. Containers in Kubernetes work the same way: they live inside Pods, and the Pod gives them a shared network and shared storage.

🐳
Container
Your application.
Runs one process.
📦
Pod
The wrapper.
Gives containers a home.

Here is the key insight that trips people up early: you almost never create containers directly in Kubernetes. You create Pods. The Pod creates the containers. This indirection is intentional it lets Kubernetes manage scheduling, networking, and restarts at the Pod level without caring what is inside.

Think about it this way
When you run kubectl get pods, you are seeing a list of apartments. Each apartment might have one tenant (most common) or several (multi-container pods). But you never see the tenants directly only the apartments.

A Pod has exactly one IP address, shared by all containers inside it. If you have two containers in the same Pod, they can talk to each other using localhost no service, no DNS, just localhost. This is the most important thing to remember about Pod networking.

Pods are also ephemeral. This is a word Kubernetes people love, and it just means temporary. Pods are designed to die and be replaced. They are not pets. They are cattle. When a Pod dies, Kubernetes creates a new one with a new IP, a new name, a fresh start. This is why you never store important data inside a Pod without a proper Volume. More on that in the Storage chapter.

Common mistake
New engineers often SSH into a Pod to fix something, then wonder why the fix disappeared. When Kubernetes restarts the Pod (which it will), everything inside is gone. The only way to make a change stick is to change the image or the configuration not the running container.
Quick check
Two containers are in the same Pod. How do they communicate with each other?