“Kubernetes Fundamentals Explained — What, Why, and When for Every Core Component”

 Pods → run
Service → expose
Ingress → route
Storage → save data
Config → settings
Helm → manage apps
Monitoring → observe
EKS → production



Let’s slow it down and explain WHY each piece exists + WHAT problem it solves + WHEN we use it — like real-world thinking, not textbook style.

Think of Kubernetes like building a house 🏠
Each object has a job.


🧱 1️⃣ Pods → run

🧠 What?

Smallest unit that runs containers.

Why?

Containers cannot run directly in Kubernetes.
They must live inside a Pod.

👉 Pod = wrapper for container


Real-world use

Run your app:

  • nginx

  • nodejs

  • python app

  • API


Problem it solves

Without Pod → no workload runs


Example

kubectl run nginx --image=nginx

👉 Now app is running


Easy memory

Pod = process


🌐 2️⃣ Services → expose

🧠 What?

Gives network access to Pods.

Why?

Pods have:
❌ random IPs
❌ change when recreated

So you can’t connect reliably.

Service gives:
✅ stable IP
✅ stable DNS name


Real-world use

Expose:

  • frontend

  • backend

  • API


Problem it solves

Without Service:

browser ❌ cannot reach app

Example

kubectl expose deployment nginx --port=80 --type=NodePort

👉 Now reachable from outside


Easy memory

Service = door to your app


🚦 3️⃣ Ingress → route

🧠 What?

Smart HTTP router

Why?

If you have:

frontend backend auth

You don’t want:

3 NodePorts ❌

Instead:

/ → frontend /api → backend /login → auth

Single entry point


Real-world use

Production websites


Problem it solves

Too many ports + messy routing


Easy memory

Ingress = traffic police 🚦


💾 4️⃣ Storage → save data

🧠 What?

Persistent storage for Pods

Why?

Pods are temporary.

If Pod restarts:
❌ data lost

So DB/files disappear


Real-world use

  • MySQL

  • Postgres

  • uploads

  • logs


Problem it solves

Data loss


Easy memory

Pod dies → data survives


⚙️ 5️⃣ Config → settings

🧠 What?

Store configs separately from code

  • ConfigMap → normal config

  • Secret → passwords/keys


Why?

Hardcoding:
❌ insecure
❌ hard to change

Better:

change config → no rebuild

Real-world use

  • DB URL

  • API keys

  • environment variables


Easy memory

Config = app settings file


📦 6️⃣ Helm → manage apps

🟢 Helm

🧠 What?

Package manager for Kubernetes

Like:

apt install nginx

Helm:

helm install prometheus

Why?

Writing 20 YAML files manually = pain

Helm:
✅ reusable
✅ versioned
✅ easy install/upgrade


Real-world use

Install:

  • Prometheus

  • Grafana

  • Redis

  • Kafka


Easy memory

Helm = npm/apt for k8s


📊 7️⃣ Monitoring → observe

Tools

  • Prometheus

  • Grafana

🧠 Why?

If app crashes, how will you know?

Need:

  • CPU usage

  • memory

  • alerts

  • graphs


Real-world use

SRE teams watch dashboards daily


Problem it solves

Blind production


Easy memory

Monitoring = health report


☁️ 8️⃣ EKS → production

🟢 Amazon EKS

🧠 What?

Managed Kubernetes on AWS

Why?

Minikube is only local

Production needs:

  • multiple nodes

  • HA

  • autoscaling

  • load balancer

  • security

EKS provides all


Real-world use

Companies deploy apps here


Easy memory

Minikube = practice EKS = real world


🔥 Final Big Picture (super clear)

Pod → run app Service → access app Ingress → route traffic Storage → save data Config → manage settings Helm → install apps easily Monitoring→ observe health EKS → production cluster

If you master just these 8 concepts properly
👉 you’re already ahead of 80% Kubernetes learners 😄🔥

Comments

Popular posts from this blog

Managing Amazon EBS Volumes and Snapshots Across Regions

Git for Beginners: Complete Guide from Installation to First Push on GitHub

AWS - Amazon Web Services