Skip to main content
>_ supraj.dev
TOPIC CONTAINERS
Kubernetes orchestrating containers at scale
IN 10 SECONDS

A cluster of nodes (servers) managed by a control plane. You declare desired state in YAML — `Deployment`, `Service`, `ConfigMap` — and the control plane drives actual state toward it. Pods are the smallest deployable unit: one or more containers sharing a network namespace.

GOTCHA You almost never want to `kubectl delete pod` individually — the Deployment controller recreates it. Delete the Deployment or scale it down instead.
HOW A DEPLOYMENT ROLLS OUT
01 You run `kubectl apply -f deploy.yaml` which sends the manifest to the API server.
02 API server validates the manifest and stores it in etcd (the cluster's source of truth).
03 Controller manager notices the Deployment's desired state doesn't match actual state and creates a ReplicaSet.
04 Scheduler picks nodes for each new Pod based on resource requests, taints, and affinity rules.
05 Kubelet on each node receives the Pod spec and tells the container runtime (containerd) to pull images and start containers.
POKE IT YOURSELF
kubectl get pods -A — list every pod across all namespaces
kubectl describe pod POD_NAME — see events, conditions, and container status