回滚 - 天天5分钟玩转 Docker 容器技术(141)

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

默认配置下,Kubernetes 只会保留最近的几个 revision,能够在 Deployment 配置文件中经过 revisionHistoryLimit 属性增长 revision 数量。app

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

经过 kubectl apply 部署并更新应用:code

--record 的做用是将当前命令记录到 revision 记录中,这样咱们就能够知道每一个 revison 对应的是哪一个配置文件。经过 kubectl rollout history deployment httpd 查看 revison 历史记录。htm

CHANGE-CAUSE 就是 --record 的结果。若是要回滚到某个版本,好比 revision 1,能够执行命令 kubectl rollout undo deployment httpd --to-revision=1blog

此时,revison 历史记录也会发生相应变化。部署

revison 1 变成了 revison 4。不过咱们能够经过 CHANGE-CAUSE 知道每一个 revison 的具体含义。因此必定要在执行 kubectl apply 时加上 --record参数。get

滚动更新咱们就讨论到这里,下一节开始学习 k8s 的 Health Check 功能。it

书籍:
1.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.htmlio

2.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

相关文章
相关标签/搜索