具有 2 个或更多指标的 kubernetes HPA 的行为如何——尤其是副本数计算?

Posted

技术标签:

【中文标题】具有 2 个或更多指标的 kubernetes HPA 的行为如何——尤其是副本数计算?【英文标题】:How kubernetes HPA with 2 or more metrics behaves - especially the no.of replicas calculation? 【发布时间】:2019-06-15 14:07:07 【问题描述】:

我们已配置为 HPA 使用 2 个指标

    CPU 利用率 应用特定的自定义指标

在测试时,我们观察到发生了缩放,但是副本数的计算不是很清楚。我无法找到有关此的任何文档。

问题:

    谁能指出计算部分的文档或代码? 使用多个指标进行扩展是否是一种好习惯?

提前致谢!

【问题讨论】:

【参考方案1】:

来自https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#how-does-the-horizontal-pod-autoscaler-work

如果在 Horizo​​ntalPodAutoscaler 中指定了多个指标,则会对每个指标进行此计算,然后选择所需副本数中最大的一个。如果这些指标中的任何一个无法转换为所需的副本数(例如,由于从指标 API 获取指标时出错),则会跳过缩放。

最后,就在 HPA 缩放目标之前,会记录缩放建议。控制器考虑可配置窗口内的所有推荐,从该窗口中选择最高推荐。可以使用--horizontal-pod-autoscaler-downscale-stabilization-window 标志配置此值,默认为 5 分钟。这意味着缩减将逐渐发生,以消除快速波动的指标值的影响

【讨论】:

像 kubernetes 文档显示一样的链接是什么意思。如何设置这个应该用例子解释的参数:--horizontal-pod-autoscaler-downscale-delay=3m0s 同样 --horizo​​ntal-pod-autoscaler-downscale-stabilization-window= ??`

以上是关于具有 2 个或更多指标的 kubernetes HPA 的行为如何——尤其是副本数计算?的主要内容,如果未能解决你的问题,请参考以下文章

为啥显式允许默认构造函数和具有 2 个或更多(非默认)参数的构造函数?

获取具有2个或更多条件的foreach循环的值

具有 2 个或更多 Div 的 Twitter Bootstrap 更广泛的下拉菜单

当“对比只能应用于具有 2 个或更多水平的因素”时如何进行 GLM?

回归在输入变量之一上给出错误“对比只能应用于具有2个或更多水平的因素”[重复]

使用 lm 构建回归模型时出错(`对比<-`中的错误(`*tmp*`...对比只能应用于具有2个或更多级别的因素)[重复]