The smallest runnable unit. Useful for learning, debugging, and simple direct execution.
Interactive guide for the beginner transition from manually created Pods to controller-managed Deployments and ReplicaSets.
The core lesson is that Pods teach the runtime unit, but Deployments teach the controller model that Kubernetes uses for real application management.
The smallest runnable unit. Useful for learning, debugging, and simple direct execution.
A higher-level controller that manages ReplicaSets and Pods declaratively.
Labels connect Pods to Services and controllers later in the workflow.
Run apache1 directly from YAML and observe Pod state.
Notice that managing multiple Pods directly becomes manual and repetitive.
Let Kubernetes manage replicated Pods through a controller.
Change desired replicas instead of hand-creating or hand-deleting Pods.
apiVersion: v1
kind: Pod
metadata:
name: apache1
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp1
| Feature | Pod | Deployment |
|---|---|---|
| Purpose | Run one Pod directly | Manage replicated Pods declaratively |
| Scaling | Manual | Built-in replica management |
| Self-healing | No owning controller | Controller recreates missing Pods |
| Typical use | Learning, debugging, special cases | Normal stateless application management |
Start with Pods to understand container execution inside Kubernetes.
Use Deployments for most normal web and API workloads.
This concept unlocks rollouts, rollback, scaling, and self-healing.