BenjaminYang In solitude, where we are least alone

k8s的回滚应用

kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。

默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revisionHistoryLimit 属性增加 revision 数量。

下面实践回滚功能。应用有如下三个配置文件 httpd.v1.ymlhttpd.v2.yml 和 httpd.v3.yml,分别对应不同的 httpd 镜像 2.4.162.4.17 和 2.4.18

通过 kubectl apply 更新应用

 

--record 的作用是将当前命令记录到 revision 记录中,这样我们就可以知道每个 revison 对应的是哪个配置文件。通过 kubectl rollout history deployment httpd 查看 revison 历史记录。

CHANGE-CAUSE 就是 --record 的结果。

 

 如果要回滚到某个版本,比如 revision 1,可以执行命令 :

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

通过查看历史 revision 由3版本变成4版本 ,其实这个4版本对应的就是之前的1版本

 

通过查看当前应用版本发现 符合上面描述的 1版本对应的 httpd:2.4.16

 

想要实现回滚功能,必须要加 --record  记录应用的版本。

 

 

posted @ 2018-11-09 18:13  benjamin杨  阅读(8472)  评论(0编辑  收藏  举报