A Deployment is the standard controller for running stateless apps. It manages ReplicaSets, and a ReplicaSet keeps a specified number of identical Pods running. You edit the Deployment; it orchestrates rolling updates and rollbacks for you.
The hierarchy
Deployment → declares desired state + update strategy (the thing YOU manage)
└── ReplicaSet → ensures N identical Pods exist (one per app version)
└── Pod → Pod → Pod ... (the actual running copies)
On each new version, the Deployment creates a NEW ReplicaSet and shifts Pods over.
