What is a Deployment?
A Deployment is a higher-level abstraction that manages a set of replicas of the application, just like a ReplicaSet, but with more features like rolling updates and rollbacks.deployment.yaml
Rollout and Rollback
Rollout — A process of updating the application to a new version by gradually replacing old pods with new ones. Rollback — A process of reverting to a previous version if something goes wrong during the rollout. When you first create a deployment, it triggers a rollout. Each subsequent update triggers another rollout. If something goes wrong, you can rollback.Deployment Strategies
- Recreate
- Rolling Update
All existing pods are terminated before new pods are created with the new configuration. This causes downtime during the update.
deployment.yaml