首页 > Web开发 > 详细

Kubernetes集群实践(09)滚动更新和回滚

时间:2020-03-24 09:47:24      阅读:70      评论:0      收藏:0      [点我收藏+]
滚动更新是一次更新一小部分,成功后再更新更多的副本,最终完成所有版本的更新,其中ECK部署ElasticSearch的时候就是这样更新的,其最大的好处就是零停机,保证业务的连续性。实际操作常用的就是修改yaml文件的image字段,设置为新的版本,操作简单,这里就不详细说明,但这个章节主要是笔记下回滚的内容。
具体操作为在编写yaml文件的时候,增加spec.revisionHistoryLimit属性,默认情况下Kubernetes指挥保留最近几个revision,而修改此属性可以增加revision的数量(一般默认的也够了)。
在执行yaml文件部署的时候带上--recored参数,例如:

kubectl apply -f traefik-deploy-v1.yaml --record

其作用就是将当前的命令记录到revision记录中,如此可以知道每个revision对应的是哪个文件。通过如下文件查看revision历史记录

kubectl rollout history daemonset traefik

其中‘daemonset‘是部署traefik的类型,‘CHANGE-CAUSE就是--record的结果。如果要回滚到某个版本,比如revision 4,可以执行如下命令:

kubectl rollout undo daemonset traefik --to-revision=4

建议:一定要在kubectl apply 时加上 --record参数。

Kubernetes集群实践(09)滚动更新和回滚

原文:https://blog.51cto.com/huanghai/2481126

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!