Kubernetes (often abbreviated as K8s) is an open-source platform for running and managing containers across a cluster of servers. Where Docker runs individual containers, Kubernetes decides which server each container runs on, restarts containers that fail, scales them with demand and rolls out new versions without downtime. Kubernetes was originally developed at Google, released in 2014, and is now maintained by the Cloud Native Computing Foundation (CNCF).
How does Kubernetes work?
You describe the desired state in configuration files (usually YAML), for example "run three instances of this API, reachable on this address". Kubernetes continuously compares the actual state with that desired state and corrects any difference. The main building blocks:
- Cluster and nodes: a cluster consists of a control plane and worker nodes, the servers where containers run.
- Pod: the smallest unit, one or more containers that belong together.
- Deployment: manages a set of identical pods and handles rolling updates and rollbacks.
- Service and Ingress: give pods a stable network address and route external traffic to the right service.
- ConfigMaps and Secrets: configuration and sensitive values, kept separate from the images.
- Autoscaling: extra pods or nodes are added automatically under load and removed when it drops.
Benefits of Kubernetes
Kubernetes provides self-healing (failed containers are replaced automatically), zero-downtime deployments, automatic scaling and a uniform way to run applications on any cloud or in your own data centre. With an ecosystem of tools such as Helm (packages), Prometheus (monitoring) and Argo CD (GitOps deployments), it has become the standard platform for larger microservices landscapes.
Do you need Kubernetes?
Often not. Kubernetes is powerful but complex: someone has to understand, secure, monitor and update the cluster. For a single application or a handful of services, Docker Compose on a server, or a managed container service such as AWS ECS, Google Cloud Run or Azure Container Apps, is usually simpler and cheaper to run. Kubernetes pays off when you run many services, have several teams deploying independently, or need to run the same platform across several environments or clouds. If you do choose Kubernetes, a managed offering such as Amazon EKS, Azure AKS or Google GKE takes over the management of the control plane.
See our Kubernetes services, Terraform for setting up the infrastructure, and what is DevOps.
Frequently Asked Questions about Kubernetes
Why is Kubernetes called K8s?
It is a numeronym: the 8 stands for the eight letters between the K and the s.
Does Kubernetes replace Docker?
No. Kubernetes runs containers built with Docker or other OCI-compatible tools. Inside the cluster, Kubernetes uses a container runtime such as containerd, but the images you build with Docker work unchanged.
Is Kubernetes free?
Kubernetes itself is open source and free. You pay for the servers it runs on, and with managed services sometimes a fee for the control plane, plus the time to manage it.
What is Helm?
Helm is a package manager for Kubernetes. A Helm chart bundles all configuration of an application, so it can be installed, configured and upgraded as one unit.