Kubernetes
Kubernetes (often abbreviated K8s) is an open-source container orchestration platform that treats a cluster of machines as a single pool of compute. The desired state of an application is declared in manifests, and Kubernetes continuously works to make and keep that state real, handling scheduling, restarts, rolling updates, and traffic routing.
How it works
A Kubernetes cluster has two parts. The control plane stores desired state in etcd and runs controllers that reconcile actual state toward it. Worker nodes run the containers and report status back. The smallest unit is a Pod, one or more containers sharing a network namespace. Deployments declare how many pods to run and how to update them. Services provide a stable network endpoint that routes to the current set of healthy pods.
Variants
- Vanilla Kubernetes: self-managed install on bare metal or VMs
- Managed Kubernetes: AWS EKS, Google GKE, Azure AKS, DigitalOcean DOKS
- Lightweight distributions: K3s, KIND, Minikube, K0s
- Higher-level platforms: OpenShift, Rancher, Tanzu
Common tools
- CLI and packaging: kubectl, Helm, Kustomize, kubectx
- GitOps: ArgoCD, Flux
- Observability: Prometheus, Grafana, Loki, OpenTelemetry
- Service mesh: Istio, Linkerd, Cilium
Origin
Released as open source by Google in 2014, descended from an internal cluster manager called Borg. The Cloud Native Computing Foundation took stewardship in 2015.