Kubernetes
Also known as: K8s, kube
Kubernetes is an open-source system for running containerized applications across a cluster of machines.
It decides where containers run, restarts them when they fail, scales them up and down, and rolls out updates. While it has become the standard way to run modern cloud applications, it's also famously complex. Plenty of small teams adopt it because big companies do, then spend more time running Kubernetes than building their product.
Kubernetes, explained at three levels
At home
Think of Kubernetes as a manager for a busy restaurant kitchen. It assigns cooks to stations, replaces anyone who calls in sick, and brings in extra help during the dinner rush. For software, the 'cooks' are containers running your app.
At work
Kubernetes helps companies run many applications reliably on a shared pool of servers. It automatically restarts failed parts and adds capacity when traffic spikes, which reduces manual work for operations teams.
At home
You tell Kubernetes what you want, such as 'run three copies of this web app,' using configuration files. Kubernetes groups containers into 'pods,' spreads them across machines, and keeps the right number running. A 'service' gives them a stable address.
At work
Managed services such as Amazon EKS, Google Kubernetes Engine, and Azure Kubernetes Service run the control plane for you, but teams still manage workloads, networking, security policies, upgrades, and costs. Kubernetes makes sense when you run many services at scale; for a handful of apps, simpler platforms often cost less.
At home
Kubernetes works through controllers that continually compare desired state, stored in its etcd database, with actual state, and act to close the gap. In my view, that reconciliation design is the real innovation, and it's why so many other tools now copy the pattern.
At work
Operational complexity concentrates in networking (CNI plugins, ingress, service meshes), security (role-based access control, pod security, supply chain), upgrades (each minor version has a limited support window), and cost management (overprovisioned requests). Extensibility through custom resources and operators lets teams automate complex systems, but every extension is something else to maintain.
Real-world examples
At home
Fatima learned Kubernetes for a course and ran a small cluster on her laptop. When she deleted a container to see what would happen, Kubernetes immediately started a new one, which finally made the idea of 'self-healing' click.
At work
Thomas is the CTO of a five-person startup. An advisor pushed him toward Kubernetes, but he calculated that a managed container service would cover their needs at a fraction of the operating effort. They'd revisit Kubernetes when they had dozens of services.
Common confusions
- Kubernetes replaces Docker. — Kubernetes orchestrates containers. Images built with Docker or other tools run on Kubernetes through a container runtime.
- Managed Kubernetes means no operations work. — The provider runs the control plane, but you still manage workloads, upgrades, security, and costs.
- Every company needs Kubernetes. — It shines at scale. Small teams with a few apps often do better with simpler managed platforms.
For analysts
Kubernetes is an operating cost, not just a technology choice. I'd ask how many engineers it will take to run it well before adopting it, and compare that with a managed platform that does less but needs no dedicated team.
History & origin
Kubernetes grew out of Google's internal cluster manager, Borg. Google announced Kubernetes as an open-source project in June 2014, and version 1.0 arrived in July 2015, when Google donated it to the newly formed Cloud Native Computing Foundation. It won the 'container orchestration wars' against Docker Swarm and Apache Mesos by around 2017, and every major cloud launched a managed version. The project releases new versions roughly three times a year. In my opinion, Kubernetes is one of the most successful open-source projects ever, but its success has made it a default choice in places where something simpler would do.