ENES

Kubernetes

The system that runs and babysits containers across many machines.

A control plane watching three nodes with pods; one pod has died and a replacement starts on another node

Kubernetes (often shortened to K8s) is open source software that runs containers across a group of machines, called a cluster. You tell it what you want: "run three copies of this image, give each one 1 GB of memory, expose them on port 80". Kubernetes finds room on the machines, starts the containers, and if one dies or a whole machine fails, it starts a replacement somewhere else without anyone being paged.

That desired state is written in YAML files. A Pod is the smallest unit (one container, or a few that must run together); a Deployment keeps N copies of a Pod alive and rolls out new versions gradually; a Service gives them a stable address so traffic can find them. Change the YAML, apply it, and Kubernetes moves the cluster from the old state to the new one.

Google built it from its internal system (Borg) and open-sourced it in 2014; today it is the default way to run large fleets of containers, and every cloud sells a managed version (Amazon EKS, Google GKE, Azure AKS). The cost is complexity: for one small app it is usually overkill, and simpler options like Amazon ECS and Fargate or a serverless function do the job.

Keep in mind

Go deeper

Related terms

More in Cloud