Kubernetes
Container orchestration at scale
Kubernetes (K8s) is an open-source system for deploying, scaling and operating containerized applications across a cluster of machines. It grew out of Google’s internal cluster managers (Borg and Omega), was open-sourced in 2014, and was the first project donated to the Cloud Native Computing Foundation (CNCF). It is now the common substrate for running containers in production, offered as a managed service by every major cloud (EKS, GKE, AKS and others) and by many on-premises distributions.
Its central idea is declarative reconciliation: you store a description of the desired state — which images, how many replicas, how they are reached — in the cluster’s API, and a set of independent controllers continuously drive the real world toward it. Restarting crashed containers, replacing lost machines, rolling out new versions and scaling with load all follow from that one mechanism.
Guides
The pages below build on each other. Read the fundamentals in order if you are new to Kubernetes; each later page can be read on its own.
flowchart LR
F["Fundamentals<br/>architecture & objects"] --> N["Networking &<br/>Configuration"]
F --> R["Health & Resource<br/>Management"]
N --> W["Workloads &<br/>Storage"]
R --> W
W --> P["Stateful Workloads &<br/>Persistence"]
W --> O["Operations"]
P --> A["Advanced Topics"]
O --> A
| Page | Covers |
|---|---|
| Fundamentals | Control plane and node components, the declarative model and reconciliation loop, Pods, ReplicaSets, Deployments and rolling updates, Services, Namespaces, labels and selectors |
| Networking & Configuration | The pod network model, Services and kube-proxy, DNS, Ingress and Gateway API, NetworkPolicies, ConfigMaps and Secrets, ServiceAccounts and RBAC |
| Health & Resource Management | Startup, liveness and readiness probes; requests and limits; QoS classes and eviction; the scheduler; in-place resize; the Horizontal Pod Autoscaler |
| Workloads & Storage | StatefulSets, DaemonSets, Jobs and CronJobs; volumes, CSI and StorageClasses; VPA and cluster autoscaling; RBAC and Pod Security Standards |
| Stateful Workloads & Persistence | PersistentVolumes and claims in depth, access and binding modes, StatefulSet guarantees, headless Services, snapshots, backup and disaster recovery, database patterns |
| Operations | kubectl techniques, Helm 4, sidecar and init-container patterns, metrics, logs and traces, troubleshooting by symptom, cluster upgrades, a production checklist, certifications |
| Advanced Topics | CRDs and Operators, service mesh, GitOps, multi-tenancy, advanced scheduling, Cluster API, performance tuning, the ecosystem |
Release Status
Kubernetes publishes three minor releases a year. The project supports the three most recent minor versions, each with roughly a year of patch releases; managed services typically offer paid extended support beyond that.
| Version | Released | Patch support ends |
|---|---|---|
| v1.37 | August 2026 | October 2027 |
| v1.36 | April 2026 | June 2027 |
| v1.35 | December 2025 | February 2027 |
Status as of September 2026; see kubernetes.io/releases for current data.
Recent Changes Worth Knowing
| Change | Release | Where covered |
|---|---|---|
Native sidecar containers (initContainers with restartPolicy: Always) stable |
v1.33 | Operations |
Endpoints API deprecated in favour of EndpointSlices |
v1.33 | Fundamentals |
Dynamic Resource Allocation (DRA) for GPUs and other devices stable (resource.k8s.io/v1) |
v1.34–v1.35 | Advanced Topics |
| Pod-level resource requests and limits (beta) | v1.34 | Health & Resources |
| In-place pod resize of CPU and memory stable | v1.35 | Health & Resources |
| cgroup v1 deprecated; kubelet refuses cgroup v1 hosts by default | v1.35 | Operations |
| Community ingress-nginx controller retired (no updates after March 2026) | — | Networking |
| Helm 4.0 released (Nov 2025); Helm 3 security fixes end February 2027 | — | Operations |
| User namespaces for pods stable | v1.36 | Workloads & Storage |
| HPA scale to zero (beta, on by default) | v1.37 | Health & Resources |
When Kubernetes Fits
Kubernetes solves hard problems but brings its own operational weight: a control plane to upgrade every few months, networking, storage and security layers to choose and maintain, and a large API to learn. It pays off when that cost is spread over many services or teams.
| Situation | Reasonable choice |
|---|---|
| One application, one or a few hosts | Docker Compose or a single VM; a PaaS |
| A handful of stateless services on one cloud | A serverless container service (AWS ECS/Fargate, Google Cloud Run, Azure Container Apps) |
| Many services, several teams, need for self-service deployment | Managed Kubernetes (EKS, GKE, AKS) |
| Portability across clouds or on-premises, or a large platform-engineering investment | Kubernetes, managed or self-hosted |
| Edge, IoT or small footprints | Lightweight distributions (k3s, k0s, MicroK8s) |
| Mixed containers, VMs and binaries with a simpler scheduler | HashiCorp Nomad |
If containers themselves are new to you, start with Docker.
See Also
- Docker — images, containers and the runtime Kubernetes builds on
- Container Runtimes — containerd, CRI-O and the CRI
- AWS compute — EKS and the alternatives on AWS
- Terraform — provisioning clusters and cloud resources as code
- CI/CD — delivery pipelines into a cluster
- Observability — metrics, logs, traces and SLOs