Glossary

Kubernetes

Kubernetes (often abbreviated k8s, "k" then eight letters then "s") is the leading container orchestration platform: a system for running and managing containerised applications across a cluster of machines. It was created at Google in 2014 based on the internal Borg system, and donated to the Cloud Native Computing Foundation where it has become the most active open-source project in the world by many measures.

Kubernetes abstracts away individual machines. You tell it "run 5 copies of this image with 512 MB of RAM each, expose port 80, keep them alive"—it figures out which nodes to place them on, restarts them if they crash, migrates them if nodes fail, and scales them up and down. It handles networking (every pod gets an IP), service discovery (internal DNS for services), load balancing, rolling updates, secret management, and much more.

Core concepts:

  • Pod — the smallest deployable unit, one or more containers sharing network and storage
  • Deployment — declarative management of a set of pod replicas
  • Service — a stable network endpoint in front of pods
  • Namespace — logical partitioning of resources (unrelated to Linux namespaces)
  • ConfigMap / Secret — configuration and sensitive data
  • Node — a machine (physical or virtual) in the cluster

Running Kubernetes is a significant undertaking; many teams use managed offerings (GKE, EKS, AKS) or simpler tools (k3s, minikube, kind) for development and small clusters.

Related terms: Container, Docker, pod, cncf

Discussed in:

Also defined in: Textbook of Linux