Kubernetes回滚应用之kubectl rollout
kubernetes 每次更新资源会记录资源的历史版本, 方便我们进行回滚操作。真的k8s解决了很多运维的痛点问题, 想起来以前没有用k8s的时候,用jenkins和ansible来做的发布和回滚…
查看历史版本
1 | kubectl rollout history deployment nfs-client-provisioner |
这里列出的就是版本, 为什么没有3, 因为从版本4回滚到了版本3, 则版本3就变成了版本5
查看指定版本详情
1 | kubectl rollout history deployment nfs-client-provisioner --revision=4 |
也可以以yaml格式输出
1 | kubectl rollout history deployment nfs-client-provisioner --revision=4 -o yaml |
回滚到指定版本
1 | kubectl rollout undo deployment nfs-client-provisioner --to-revision=4 |
回滚到上一个版本可以不用增加
--to-revision=4
参数, 默认就是回滚上一个版本
记录版本变化
执行命令记录变化
在第一步查看历史版本, CHANGE-CAUSE 显示的是none, 如果需要记录kubectl执行的命令,则执行命令的时候需要添加参数
1 | kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1 --record=true |
这样就会把当前的命令记录到版本的CHANGE-CAUSE这一栏
设置历史版本数量
在yml文件里面可以设置历史版本的数量, 比如:
1 | apiVersion: apps/v1 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BLOG!