k8s 滚动更新策略

k8s 滚动更新策略

type:设置更新策略。有两个可选项:recreateRollingUpdate(默认)。Recreate表示全部重新创建,RollingUpdate表示滚动更新

maxSurge 升级过程中最多可以比原先设置多出的Pod数量,可以是数字,也可以是比例。如一次性拉起一倍预期Pod数量,设置为100%

maxUnavailable:升级过程中最多允许有多少个Pod处于不可用状态

maxSurgemaxUnavailable可以用来决定更新是的最大Pod数和最小Pod数,并且在更新策略为RollingUpdate时才需要设置

例如

1
2
3
4
5
6
7
8
9
10
11
spec:
replicas: 5
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1 # 默认为 25%
maxUnavailable: 0 # # 默认为 25%
# maxSurge: 1
# maxUnavailable: 0
# 更新时 最大的Pod数是 replicas+ maxSurge = 5+1 =6,最大的个数是6
# 最小pod数是 replicas - maxUnavailable = 5-0 = 5,最小Pod数是5,所以只能先启动一个Pod,再删除一个Pod

注意

实际环境中可以根据replicas配置合理的值

maxSurge设置为0的时候,maxUnavailable不能设置为0。maxSurge=0时先删除后启动,maxSurge!=0时先启动后删除

1
2
3
spec:
revisionHistoryLimit: 10 # revisionHistoryLimit表示保留的版本数
minReadySeconds: 5 # minReadySeconds表示Pod启动后经过多少秒Pod才开始对外提供服务,默认是0
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信