ps教程自学网免费,app搜索优化,seo优化排名,手机研发流程前面提到的普通的滚动更新#xff0c;都是修改完sts立即就会发生更新操作
而还有一种更新的策略为#xff0c; OnDelete#xff0c;即只有在 pod 被删除时会进行更新操作
还是先看一下web这个sts的当前更新策略如下#xff1a; 这里我们修改#xff0c;更新策略#xf…前面提到的普通的滚动更新都是修改完sts立即就会发生更新操作
而还有一种更新的策略为 OnDelete即只有在 pod 被删除时会进行更新操作
还是先看一下web这个sts的当前更新策略如下 这里我们修改更新策略kubectl edit sts web 命令更新后保存更新策略的块配置如下 updateStrategy:type: OnDelete
1、更新nginx的版本为 1.7.9 然后可以通过如下看到所有pod都没有进行更新 [rootk8s-master ~]# kubectl patch sts web --typejson -p[{op: replace, path: /spec/template/spec/containers/0/image, value:nginx:1.7.9}]
statefulset.apps/web patched
[rootk8s-master ~]#
[rootk8s-master ~]#
[rootk8s-master ~]# kubectl describe po web-0 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-1 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-2 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-3 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-4 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# 2、此时我们可以删除一个pod如web-2再进行观察可以看到只有被删除的web-2才会重新生成更新到指定的版本 [rootk8s-master ~]# kubectl delete po web-2
pod web-2 deleted
[rootk8s-master ~]# kubectl describe po web-0 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-1 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-2 | grep Image:Image: nginx:1.7.9
[rootk8s-master ~]# kubectl describe po web-3 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# kubectl describe po web-4 | grep Image:Image: nginx:1.9.1
[rootk8s-master ~]# 3、最后没有问题的再依次将所有的pod进行删除完成所有的更新
[rootk8s-master ~]# kubectl delete po web-0 web-1 web-3 web-4
pod web-0 deleted
pod web-1 deleted
pod web-3 deleted
pod web-4 deleted
[rootk8s-master ~]#