Tech Terms Explained Open in the app →

Kubernetes

DevOps · Advanced · 6 min read

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

Kubernetes is like an air-traffic controller for your app's containers — it decides where each one lands, restarts the ones that crash, and adds more when it gets busy.

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

Docker SwarmAmazon ECSNomadPlatform-as-a-Service offerings

Related terms

DockerContainerPodHelmMicroservices

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

If you remember only one thing

Kubernetes keeps your declared number of healthy containers running, automatically.