Advocate Plumbing ↗️ CNCF Graduated Orchestration & Management / Scheduling & Orchestration

Technology Guide

Kubernetes

License: Apache-2.0

Kubernetes Logo

Field Guide

Complete Guide

Kubernetes is a container orchestrator with a declarative API. You describe the desired state of your workloads as objects — Pods, Deployments, StatefulSets, Services, Ingresses, ConfigMaps, Secrets, Jobs, CronJobs — and a set of controllers continuously reconciles the cluster toward that state. This controller pattern is the single idea the entire project is built around: every feature, from core workload types to third-party operators, is implemented as a reconciliation loop watching an object in the API.

A cluster has a control plane and a set of nodes. The control plane runs the API server (the only component that talks to storage), etcd (the backing key-value store holding every object), the scheduler (which assigns Pods to nodes based on resource requests, affinities, taints, and topology constraints), and the controller manager (which runs the built-in reconciliation loops for ReplicaSets, endpoints, nodes, service accounts, and so on). Each node runs the kubelet, which takes Pod specs from the API server and drives a container runtime over CRI to actually start containers, and kube-proxy (or eBPF equivalents like Cilium) to implement ClusterIP Services via iptables/IPVS/eBPF. Networking, storage, and container runtime are all pluggable via CNI, CSI, and CRI, which is how the ecosystem ended up with dozens of interchangeable network and storage backends.

Multi-tenancy is handled through namespaces, RBAC, ResourceQuotas, NetworkPolicies, and PodSecurity admission. Extension is handled through CustomResourceDefinitions plus controllers — “the operator pattern” — which is why Kubernetes has become the substrate for things as diverse as databases, CI systems, ML platforms, and service meshes.

It came out of Google’s Borg lineage, was the first project to graduate from the CNCF, and is now the de facto API for running server-side workloads in essentially every cloud and most data centers. Its main competition at this point is itself: the interesting choices are between distributions (EKS, GKE, AKS, OpenShift, k3s, Talos, kubeadm) rather than between Kubernetes and something else.

CNCF Project

Cloud Native Computing Foundation

Accepted: 2016-03-10
Incubating: 2016-03-10
Graduated: 2018-03-06