deployments滚动升级

2021-06-09  本文已影响0人  ZYvette
image.png image.png
  1. 默认滚动升级策略:
    (1)默认配置:
maxSurge: 25%
maxUnavailable: 25%

讲解:假设当前有10个副本数
1.新rs,新创建10*25%~=3,新创建3个副本。

  1. 旧rs,会在当前可用10-10*25%~=8的情况,删除两个旧副本。
    在成功删除2个副本后,会新建两个副本,依次交替,知道旧副本数为0为止。

  2. 修改后配置

 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

  1. 滚动升级如何不影响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

http://docs.kubernetes.org.cn/671.html

https://www.kubernetes.org.cn/7173.html

上一篇下一篇

猜你喜欢

热点阅读