A Kubernetes Deployment manages a replicated stateless application on Kubernetes.

It describes the desired state for a set of Pods and lets Kubernetes roll changes out over time.

Deployments usually create and manage ReplicaSets, which then manage Pods.

Why use it

Deployments are useful when you want:

  • Multiple replicas of the same application
  • Rolling updates
  • Rollbacks
  • Self-healing when Pods fail
  • Declarative application configuration

Good fit

Deployments are a good fit for stateless services where any Pod replica can handle any request.

For stateful systems, a Kubernetes StatefulSet is often a better fit.