---
title: "Kubernetes in simple terms"
chapter: "01"
---

# Kubernetes in simple terms

Kubernetes continuously compares **desired state** with **actual state** and
tries to close the gap. You declare what should exist; controllers reconcile it.

## The small vocabulary

| Object | Plain meaning |
|---|---|
| Pod | Smallest scheduled unit; one or more tightly coupled containers |
| Deployment | Keeps stateless Pods running and rolls out versions |
| StatefulSet | Stable identity and ordered behavior for stateful Pods |
| DaemonSet | Runs a Pod on selected nodes |
| Job / CronJob | Finite or scheduled work |
| Service | Stable network identity for a changing set of Pods |
| Gateway / Ingress | Routes external or internal application traffic |
| ConfigMap | Non-secret configuration |
| Secret | Kubernetes secret object; use careful encryption and access controls |
| Namespace | Logical scope for names, policy, quota, and team boundaries |

Labels identify objects. Selectors find groups of objects. Controllers use
selectors, so a wrong label can send traffic to the wrong Pods or prevent a
Deployment from managing them.

## Requests and limits

A CPU or memory **request** tells the scheduler what a Pod needs and influences
capacity and cost. A **limit** is an upper bound. Missing or unrealistic values
cause poor scheduling, evictions, throttling, or wasted nodes.

## Health

- Startup probes protect slow-starting applications.
- Readiness probes decide whether a Pod receives traffic.
- Liveness probes decide whether a stuck container should restart.

A liveness probe must detect a condition a restart can fix. A readiness failure
should remove traffic without creating a restart storm.

## The declarative habit

Store reviewed manifests or templates in version control. Avoid making important
production changes only with imperative commands. Git history should explain
what changed, while audit logs explain who applied it.
