女主宣言
利用kubernetes的滚动更新时,可能经常遇到发布“太快不稳定”或“太慢体验差”的情况。本文将介绍kubernetes滚动更新控制速率的特性。
PS:丰富的一线技术、多元化的表现形式,尽在“360云计算”,点关注哦!
1
含义
服务在滚动更新时,deployment控制器的目的是:给旧版本(old_rs)副本数减少至0、给新版本(new_rs)副本数量增至期望值(replicas)。大家在使用时,通常容易忽视控制速率的特性,以下是kubernetes提供的两个参数:
1. maxUnavailable:和期望ready的副本数比,不可用副本数最大比例(或最大值),这个值越小,越能保证服务稳定,更新越平滑;
2. maxSurge:和期望ready的副本数比,超过期望副本数最大比例(或最大值),这个值调的越大,副本更新速度越快。
2
取值范围
数值
1. maxUnavailable: [0, 副本数]maxSurge: [0, 副本数]
2. maxSurge: [0, 副本数]
注意:两者不能同时为0。
比例
1. maxUnavailable: [0%, 100%] 向下取整,比如10个副本&#