Kubernetes Overview¶
Kubernetes is a platform for running containerized applications reliably at scale.
It handles deployment, scheduling, health recovery, service discovery, and rollouts so teams can operate applications consistently across environments.
Why Kubernetes Exists¶
Containers made application packaging easier, but running containers in production introduced hard operational problems:
- How do you place workloads on available machines?
- How do you recover from container or node failures?
- How do you scale up and down safely?
- How do you roll out new versions without downtime?
Kubernetes solves these problems with declarative APIs and controllers.
Core Mental Model¶
Kubernetes works by continuously reconciling actual state to desired state.
- You declare desired state (usually in YAML).
- The API server stores that state in etcd.
- Controllers compare desired vs actual state.
- Controllers take actions until they match.
This loop is why Kubernetes can self-heal and keep systems stable over time.
Cluster Architecture¶
A Kubernetes cluster has two major parts:
- Control plane: API server, scheduler, controller manager, etcd.
- Worker nodes: kubelet, runtime, and your application pods.
The API server is the central entry point for cluster changes.
Key Building Blocks¶
- Pod: The smallest deployable unit. Usually one app container per pod.
- Deployment: Manages stateless pods and rolling updates.
- StatefulSet: Manages stateful workloads with stable identity and storage.
- Service: Stable virtual endpoint in front of pod backends.
- Ingress or Gateway API: North-south HTTP/TLS routing into cluster services.
- ConfigMap and Secret: Runtime configuration and sensitive values.
What Kubernetes Is Not¶
Kubernetes is not a replacement for:
- Good application architecture
- Observability and incident response practices
- Security design and policy
- Platform standards and release discipline
It provides powerful primitives. You still need sound operational patterns.
How to Learn Efficiently¶
Use this sequence:
- Understand pods, deployments, and services.
- Learn configuration and probes.
- Learn networking and traffic entry.
- Learn security fundamentals.
- Learn maintenance and troubleshooting workflows.