Deployments: updating applications declaratively

  • Replacing pods with newer versions
  • Updating managed pods
  • Updating pods declaratively using Deployment resources
  • Performing rolling updates
  • Automatically blocking rollouts of bad versions
  • Controlling the rate of the rollout
  • Reverting pods to a previous version

This chapter covers how to update apps running in a Kubernetes cluster and how Kubernetes helps you move toward a true zero-downtime update process. Although this can be achieved using only ReplicationControllers or ReplicaSets, Kubernetes also provides a Deployment resource that sits on top of ReplicaSets and enables declarative application updates.

Using Deployments for Updating Apps Declaratively

A Deployment is a higher-level resource meant for deploying applications and updating them declaratively, instead of doing it through a ReplicationController or a ReplicaSet, which are both considered lower-level concepts.

When you create a Deployment, a ReplicaSet resource is created underneath (eventually more of them). ReplicaSets are a new generation of ReplicationControllers, and should be used instead of them. Replica-Sets replicate and manage pods, as well. When using a Deployment, the actual pods are created and managed by the Deployment’s ReplicaSets, not by the Deployment directly

results matching ""

    No results matching ""