天天看点

Kubernetes详解(二十七)——Deployment控制器回滚

今天继续给大家介绍Linux运维相关知识,本文主要内容是Deployment控制器回滚。

一、Deployment控制器回滚概述

在生产环境中,我们在更新Deployment控制的Pod后,如果发现更新的版本存在Bug,那么我们就需要立刻进行回滚,使得我们的Pod回到之前的版本或者是指定的历史版本。Deployment控制器支持这两种回滚的实现。

二、Deployment控制器历史版本查看

如果我们想查看一下Deployment控制器的历史版本,那么我们可以执行命令:

kubectl rollout history deployment deployment
           

在上述命令中,第一个deployment指明了查看对象是deployment控制器,第二个deployment是Deployment对象的名称(名称恰好为deployment)。

该命令执行结果如下:

Kubernetes详解(二十七)——Deployment控制器回滚

从上图中可以看出,我们并不能直接查看Deployment控制器的版本信息,这是因为Deployment控制器在更新时并没有记录版本。如果想要Deployment控制器记录版本信息,那么我们就必须在创建Deployment控制器时添加–record字段。在创建Deployment控制器时,执行命令:

kubectl apply -f Deployment.yaml --record
           

这样,Deployment控制器就会记录其版本信息,如下所示:

Kubernetes详解(二十七)——Deployment控制器回滚

三、Deployment控制器回滚

最后,我们来进行Deployment控制器的回滚操作。

我们可以有两种方式实现Deployment控制器的回滚,一种是指定Deployment控制器回滚到上一个版本,另一种是指定Deployment回滚到一个指定的版本。

执行命令:

kubectl rollout undo deployment deployment
           

可以使得deployment控制器回滚到上一个版本,该命令执行结果如下:

Kubernetes详解(二十七)——Deployment控制器回滚

从上图中可以看出,当我们执行该命令后,deployment控制器的Pod版本由原来的v3回滚到v2。

而如果想要我们的deployment控制器回滚到指定的版本,那么我们就需要使用–to-revision参数来指定版本,执行命令:

kubectl rollout undo deployment deployment --to-revision=1
           

可以使得我们的deployment控制器回滚到v1版本,该命令执行效果如下:

Kubernetes详解(二十七)——Deployment控制器回滚

从上图可以看出,在执行了该命令后,Deployment控制器成功的从v3版本回滚到了v1版本。

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

继续阅读