Kubernetes
Overview
Kubernetes (often abbreviated as K8s) is an open-source container orchestration platform originally developed by Google and now maintained by the Cloud Native Computing Foundation (CNCF). It automates the deployment, scaling, and management of containerized applications, grouping containers into logical units called pods for easy service discovery and load balancing. Kubernetes has become the de facto standard for managing container workloads in production environments across on-premises, public cloud, and hybrid infrastructures.
History
Kubernetes was initially designed by Google engineers based on their internal system Borg, which had been used for cluster management for over a decade. Google released Kubernetes as an open-source project in June 2014. In July 2015, version 1.0 was launched, and Google donated the project to the newly formed CNCF. Since then, Kubernetes has seen rapid adoption by enterprises and cloud providers, with major vendors like Amazon Web Services, Microsoft Azure, and Google Cloud Platform offering managed Kubernetes services. The project releases new versions approximately every three months.
Features
- Pod management – A pod is the smallest deployable unit in Kubernetes, containing one or more containers that share storage and network resources.
- Service discovery and load balancing – Pods can be exposed using services that provide stable IP addresses and DNS names, with automatic traffic distribution.
- Automated scaling – Horizontal Pod Autoscaling adjusts the number of pod replicas based on CPU, memory, or custom metrics.
- Self-healing – Kubernetes restarts failed containers, replaces nodes that become unresponsive, and kills containers that fail health checks.
- Storage orchestration – It can automatically mount storage systems from local storage, public cloud providers, or network storage systems.
- Configuration and secrets management – ConfigMaps and Secrets allow decoupling configuration from container images.
- Batch execution – Kubernetes supports batch processing jobs, scheduled cron jobs, and parallel workloads.
Architecture
A Kubernetes cluster consists of a control plane and worker nodes. The control plane runs components such as the API server, etcd (a distributed key-value store), scheduler, and controller manager. Worker nodes host pods and run the kubelet agent, a container runtime (like Docker or containerd), and kube-proxy for network rules. Users interact with the cluster via the command-line tool kubectl or through the Kubernetes API.
Ecosystem and Adoption
Kubernetes has spawned a rich ecosystem of tools, including Helm for package management, Istio for service mesh, and Prometheus for monitoring. Many organizations adopt Kubernetes to improve resource utilization, enable continuous deployment, and achieve portability across cloud providers. As of 2025, Kubernetes is supported by all major cloud platforms and is used by companies such as Spotify, The New York Times, and Capital One.