- 默认滚动升级策略:
(1)默认配置:
maxSurge: 25%
maxUnavailable: 25%
讲解:假设当前有10个副本数
1.新rs,新创建10*25%~=3,新创建3个副本。
-
旧rs,会在当前可用10-10*25%~=8的情况,删除两个旧副本。
在成功删除2个副本后,会新建两个副本,依次交替,知道旧副本数为0为止。 -
修改后配置
strategy:
rollingUpdate: ##由于replicas为3,则整个升级,pod个数在2-4个之间
maxSurge: 1 #滚动升级时会先启动1个pod
maxUnavailable: 0#滚动升级时允许的最大Unavailable的pod个数
这样配置,保证每次新增1个副本且可用之后再删除旧副本。
参考:https://blog.csdn.net/weixin_36106852/article/details/113022355
- 滚动升级如何不影响HPA
问题:在使用中可能会重新配置cpu和副本数而滚动升级,可能会影响HPA。
假设默认deployment是10,如果当前hpa升级到12,当前想要直接apply-f修改之后配置,可能会导致任务先缩容到10,然后在滚动升级,再走HPA扩容到12.
解决办法:配置更新,不修改deployment。
kubectl set resources deployment test --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi
kubectl set image deployment/test flume-task-manager=flume2hdfs:test
kubectl patch deployment test --type merge --patch "$(cat patch-file-2.yaml.yaml)"
参考:https://blog.csdn.net/weixin_30856725/article/details/101777900
网友评论