今天继续给大家介绍Linux运维相关知识,本文主要内容是Deployment控制器回滚。
一、Deployment控制器回滚概述
在生产环境中,我们在更新Deployment控制的Pod后,如果发现更新的版本存在Bug,那么我们就需要立刻进行回滚,使得我们的Pod回到之前的版本或者是指定的历史版本。Deployment控制器支持这两种回滚的实现。
二、Deployment控制器历史版本查看
如果我们想查看一下Deployment控制器的历史版本,那么我们可以执行命令:
kubectl rollout history deployment deployment
在上述命令中,第一个deployment指明了查看对象是deployment控制器,第二个deployment是Deployment对象的名称(名称恰好为deployment)。
该命令执行结果如下:
从上图中可以看出,我们并不能直接查看Deployment控制器的版本信息,这是因为Deployment控制器在更新时并没有记录版本。如果想要Deployment控制器记录版本信息,那么我们就必须在创建Deployment控制器时添加–record字段。在创建Deployment控制器时,执行命令:
kubectl apply -f Deployment.yaml --record
这样,Deployment控制器就会记录其版本信息,如下所示:
三、Deployment控制器回滚
最后,我们来进行Deployment控制器的回滚操作。
我们可以有两种方式实现Deployment控制器的回滚,一种是指定Deployment控制器回滚到上一个版本,另一种是指定Deployment回滚到一个指定的版本。
执行命令:
kubectl rollout undo deployment deployment
可以使得deployment控制器回滚到上一个版本,该命令执行结果如下:
从上图中可以看出,当我们执行该命令后,deployment控制器的Pod版本由原来的v3回滚到v2。
而如果想要我们的deployment控制器回滚到指定的版本,那么我们就需要使用–to-revision参数来指定版本,执行命令:
kubectl rollout undo deployment deployment --to-revision=1
可以使得我们的deployment控制器回滚到v1版本,该命令执行效果如下:
从上图可以看出,在执行了该命令后,Deployment控制器成功的从v3版本回滚到了v1版本。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200