What and Why

You have a containerized app. You docker run it on a server. It crashes at 3am — no one restarts it until 9am. You scale by SSH-ing into servers and running more containers by hand. A bad deploy requires SSHing into each server to roll back. The server itself goes down and takes the service with it.

Container orchestration solves the operational problems that containers alone create. Kubernetes (K8s) is the dominant orchestrator. It takes a fleet of servers and presents them as a single compute pool. You declare what you want — "run 3 replicas of this container image, expose it on port 8080, restart it if it crashes" — and Kubernetes makes it happen and keeps it that way.

You encounter Kubernetes when:

  • Running production services that need automatic restarts, scaling, and rolling deploys
  • Working at a company that's moved beyond single-server or manual deployments
  • Debugging why a service is failing to start or crashing in production
  • Designing deployment infrastructure for a new service

In the full tutorial

  • Core Concepts
  • How It Works in Practice
  • Common Mistakes
  • Tradeoffs
  • Quick Reference

Glossary history

Click dotted jargon to save explanations here.