A one-page primer on what Kubernetes is and how it actually works.
Kubernetes (often written K8s — "K", eight letters, "s") is an open-source system for running containers across many machines. You tell it the state you want ("run 3 copies of this app, always"), and it works continuously to make reality match — restarting crashed containers, replacing dead machines, and scaling up or down.
A Kubernetes cluster has two halves:
The brain. Makes decisions and stores the desired state — the API server, scheduler, controllers, and etcd (the database).
The muscle. The machines that actually run your containers, each with a kubelet agent taking orders from the control plane.
You talk to the API server (usually via kubectl);
the scheduler decides which node runs each workload; and
controllers constantly reconcile actual state toward desired state.
dev, prod).You write a YAML manifest describing what you want, then apply it:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 3
selector:
matchLabels: { app: web }
template:
metadata:
labels: { app: web }
spec:
containers:
- name: web
image: nginx:alpine
ports:
- containerPort: 80
Run kubectl apply -f web.yaml and Kubernetes creates 3 Pods,
keeps them alive, and reschedules them if a node dies — no manual babysitting.
kubectl get pods — list what's runningkubectl apply -f file.yaml — create/update from a manifestkubectl describe pod <name> — detailed status & events (great for debugging)kubectl logs <pod> — see a container's outputkubectl scale deploy/web --replicas=5 — scale up or downkubectl rollout undo deploy/web — roll back a bad deployKubernetes gives you self-healing, easy scaling, rolling deploys, and a consistent way to run anything anywhere. But that power has a cost side: it's easy to over-request resources, leave idle nodes running, and let clusters sprawl.