- Multiple instances of a service for availability and load distribution.
- Declarative, seamless updates (rolling updates) so not all Pods are replaced at once.
- Easy rollbacks to previous revisions when a rollout fails.
- Pause/resume support to batch multiple changes (e.g., image update, scaling, resource adjustments) into a single rollout.

spec.replicas— declares how many Pod replicas you want.spec.selector.matchLabels— must match the labels inspec.template.metadata.labels. This selector tells the Deployment which Pods belong to it and is required for apps/v1 Deployments.
Always ensure
spec.selector.matchLabels matches the labels on spec.template.metadata.labels. If they don’t match, the Deployment cannot correctly identify and manage its Pods.
For more details on strategies and rollout behavior, see the Kubernetes documentation on Deployments and rolling updates:
We will next cover how to perform rolling updates (change the image in the Deployment), how to roll back to previous revisions, and how to pause/resume rollouts to group multiple changes together.