Serverless平台knative第十章如何应付pod频繁抖动
  EeGZtZT5Jsfk 2023年11月02日 51 0

负载变动频繁时,Knative可能会因为响应负载变动而导 致频繁创建或销毁Pod实例

为避免服务规模“抖动” ,AutoScaler支持两种扩缩容模 式

Stable稳定模式
在稳定模式中,KPA会在默认的稳定窗口期(默认为60秒)内计算Pod的平均并发数。根据这个平均并发数,KPA会调整Pod的数量,以保持稳定的负载水平。请求平均数(平均并发数)及每个Pod的目标并发数计算 Pod数



Panic恐慌模式

短期内收到大量请求时,将启用Panic模式 ,十分之一窗口期(6秒)的平均并发数 ≥ 2*单实例目标并发 数

进入Panic模式60秒后,系统会重新返回Stable模式

在恐慌模式中,KPA会在恐慌窗口期(默认为6秒)内计算Pod的平均并发数。恐慌窗口期=稳定窗口期*panic-window-percentage(panic-window-percentage取值是0~1,默认是0.1)。当请求突然增加导致当前Pod的使用率超过恐慌窗口百分比时,KPA会快速增加Pod的数量以满足负载需求。

在KPA中,弹性生效的判断是基于恐慌模式下计算得出的Pod数量是否超过恐慌阈值(PanicThreshold)。恐慌阈值=panic-threshold-percentage/100,panic-threshold-percentage默认为200,即恐慌阈值默认为2。


kubectl edit cm config-autoscaler -n knative-serving
stable-window: 60s
panic-threshold-percentage: "10"
panic-window-percentage: "10"
  • panic-threshold-percentage配置项表示Panic模式的并发阈值百分比。默认为10,表示当窗口期内的平均并发数达到目标并发数的10%时触发Panic模式。
  • panic-window-percentage配置项表示Panic模式的窗口期百分比。默认为10,表示Panic模式的窗口期为目标窗口期的10%。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论