Kubernetes
What is it?
Kubernetes is a system that automatically runs, scales, and heals containerized applications across a fleet of machines.
Explain like I'm 5
Why was it created?
Once teams ran hundreds of containers, doing it by hand became impossible. Kubernetes was created to automate placing, restarting, scaling, and connecting containers reliably.
Where is it used?
- Cloud-native production deployments
- Microservice platforms
- Internal developer platforms
- Multi-cloud and hybrid infrastructure
Why should developers care?
Kubernetes is the dominant way large companies run containers in production. If you work on cloud-native backends, you will almost certainly encounter it.
How does it work?
A control plane keeps a desired state (e.g. 'run 5 copies of this app'). Worker nodes run the containers inside pods. If reality drifts from the desired state, Kubernetes corrects it by starting, stopping, or moving pods.
Real-world example
An online store declares it wants 10 copies of its checkout service. A node fails; Kubernetes notices and reschedules the lost pods onto healthy nodes automatically.
Common use cases
- Auto-scaling services under load
- Rolling out new versions safely
- Self-healing crashed workloads
- Running microservices at scale
Advantages
- Self-healing and auto-scaling
- Portable across clouds
- Huge ecosystem and tooling
- Declarative configuration
Disadvantages
- Steep learning curve
- Operational complexity
- Easy to over-engineer for small apps
When should you use it?
When you run many containers that need scaling, resilience, and automated rollouts.
When should you avoid it?
For a single small app or early-stage project where a simpler platform would do.
Alternatives
Related terms
Interview questions
Beginner
- What problem does Kubernetes solve?
- What is a pod?
Intermediate
- How does a Deployment differ from a Pod?
- How does Kubernetes perform a rolling update?
Senior
- How would you design resource requests and limits to avoid noisy-neighbor problems?
- How do you handle stateful workloads in Kubernetes?
Common misconceptions
- "Kubernetes replaces Docker" — false. Kubernetes orchestrates containers; Docker is one way to build and run them.
- "You always need Kubernetes" — many apps are simpler and cheaper without it.
Fun facts
- The name comes from the Greek word for helmsman or pilot.
- It is often abbreviated K8s — 'K', eight letters, then 's'.
- It grew out of Google's internal cluster manager experience.
Timeline
- 2014 — Open-sourced by Google
- 2015 — Donated to the Cloud Native Computing Foundation
Learning resources
Quick summary
Kubernetes automates running and scaling containers across many machines, keeping apps healthy without manual babysitting.
Cheat sheet
- Orchestrates containers across nodes
- Pods are the smallest deployable unit
- Declarative desired-state model
- Self-healing and auto-scaling