Kubernetes is an open-source container orchestration platform originally developed by Google, now governed by the Cloud Native Computing Foundation. It automates the deployment, scaling, and management of containerized applications across clusters of machines, abstracting infrastructure complexity while maintaining declarative configuration and self-healing capabilities. Understanding Kubernetes requires recognizing that everything is managed through declarative YAML manifests describing desired state. The system continuously reconciles actual state to match, creating resilient distributed systems that can scale from development laptops to planet-scale infrastructure.
What This Cheat Sheet Covers
This topic spans 18 focused tables and 156 indexed concepts, 143 flashcards, 6 practice tests with 206 questions. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Architecture Components
Every Kubernetes cluster splits into a control plane that makes decisions and worker nodes that run your containers. The pieces below are that split in practice: the API server as the single front door, etcd as the store behind it, the scheduler and controllers that push the cluster toward the state you asked for, and the kubelet and kube-proxy doing the work on each node. One rule ties it all together and explains most debugging: only the API server talks to etcd, and everything else goes through the API server.
| Component | Example | Description | |
|---|---|---|---|
kubectl get pods | • Front door of the control plane: exposes the Kubernetes API and authenticates, authorizes, and admission-checks every request before it is persisted • the only component that reads and writes etcd, so every other component goes through it. | ||
Stores cluster state | • Consistent, highly-available key-value store holding all cluster data: objects, configuration, and Secrets • the cluster's source of truth, so an etcd snapshot is a full backup of cluster state and needs the same protection as one. | ||
Assigns pods to nodes | • Picks a node for each pod that has none, filtering on resources and constraints, then scoring the survivors • only writes a binding through the API server; the node's kubelet is what pulls images and starts containers. | ||
Runs controllers | • Runs the built-in control loops (node, Job, EndpointSlice, ServiceAccount and more), each driving current state toward desired state • all compiled into a single binary and run as one process • controllers act by calling the API server, never by contacting nodes. | ||
Runs on worker nodes | • Primary node agent: takes PodSpecs from the API server and makes sure those containers are running and healthy • reports node and pod status back to the control plane, and ignores any container Kubernetes did not create. | ||
Maintains Service rules | • Programs each node's kernel rules for Service traffic, in iptables, nftables (GA in v1.33), or IPVS mode • packets are matched and forwarded by the kernel, not through the kube-proxy process. | ||
containerd, CRI-O | • Runs the containers: pulls images and manages container lifecycle on the node • speaks the Container Runtime Interface (CRI) over gRPC, with the kubelet as the client • takes any OCI image, including ones built by docker build. | ||
Manages cloud resources | • Runs the cloud-specific control loops (node, route, and service controllers) against your provider's APIs • keeps cloud logic out of core Kubernetes; a bare-metal cluster has none, which is why type: LoadBalancer stays pending there. | ||
coordination.k8s.io/v1kind: Lease | • Lightweight coordination object used for node heartbeats and leader election • kubelet renews its node Lease every 10 seconds, far cheaper than writing full node status • HA control plane components hold a Lease so only one is active at a time. |