How to Roll Back a Deployment in Kubernetes

This blog post will show you how to roll back a deployment on a Kubernetes cluster using kubectl.

Deployments

When working with Kubernetes, the preferred method of object deployment is to use deployment because it allows managing releases in versions.

RollBack

In my case, I have a deployment that I updated with a new image, as I showed in the previous article.

To roll back the deployment, I will start by checking the deployment history using the following command.

kubectl rollout history deployment nginx-deployment

Below you can see the output of the command. It also important you use annotations to add details to the deployments.

deployment.apps/nginx-deployment 
 REVISION  CHANGE-CAUSE
 2         
 3         
 6         Update to 12 pods
 7         Update to nginx version 1.19.7

From the status output, I will note the revision number of the deployment I would like to roll back to and run the following command.

kubectl rollout undo deployment nginx-deployment --to-revision=7

From here, Kubernetes will roll back the deployment.

Undo

Another option is to undo a deployment of the previous version using the undo option which doesn’t require to specify a revision number.

kubectl rollout undo deployments nginx-deployment

Processing…
Success! You're on the list.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.