Overview
A Deployment is the most common way to run applications on Kubernetes. You describe a desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state at a controlled rate.
Key Functions
- Self-Healing: Automatically restarts failed Pods and replaces Pods on failed nodes.
- Scaling: Easily scale the number of replicas up or down.
- Rolling Updates: Update the application version with zero downtime by gradually replacing old Pods with new ones.
- Rollbacks: Quickly revert to a previous version if an update fails.
Relationship
A Deployment manages a ReplicaSet, which in turn manages the individual Pods.