Kubernetes in simple terms
Kubernetes is a continuous correction machine. You declare desired state. Controllers compare it with actual state and keep trying to close the gap.
The smallest useful vocabulary
| Object | Plain meaning |
|---|---|
| Pod | Smallest scheduled unit; normally one application container |
| Deployment | Keeps stateless Pods running and rolls out versions |
| StatefulSet | Stable names and ordered behavior for stateful Pods |
| DaemonSet | Runs one Pod on selected nodes |
| Job / CronJob | Finite or scheduled work |
| Service | Stable address for changing Pods |
| Gateway / Ingress | Routes application traffic |
| Namespace | Scope for names, quota, RBAC, and policy |
| ConfigMap / Secret | Configuration and sensitive values |
Labels identify objects. Selectors choose objects. A wrong selector can send traffic to the wrong Pods or leave a controller managing nothing.
Requests, limits, and health
A resource request is what the scheduler reserves. It drives placement, capacity, and cost. A limit is an upper boundary. Measure both; guesses create waste, CPU throttling, or memory kills.
- Startup probe: “I am still starting.”
- Readiness probe: “Do not send me traffic yet.”
- Liveness probe: “I am stuck and a restart can fix me.”
Do not make liveness depend on a slow database. Restarting every Pod during a database incident makes the incident larger.
Feynman check
If three of five replicas disappear, a Deployment sees that actual state is smaller than desired state and creates three replacements. Kubernetes restores objects; it does not restore lost business data.