gpt4 book ai didi

kubernetes - Kubernetes HPA-如何避免因CPU使用率飙升而扩大规模

转载 作者:行者123 更新时间:2023-12-02 12:13:37 26 4
gpt4 key购买 nike

HPA-如何避免因CPU使用率激增而扩大规模(不在启动时)
在为其他国家/地区加载业务配置时,CPU负载会增加1分钟,但我们要避免在1分钟内扩大规模。

在下面的图片中,CurrentMetricValue只是来自矩阵的当前值或从上次轮询到当前轮询持续时间的平均值-水平.-pod-autoscaler-sync-period

enter image description here

最佳答案

HPA的默认检查间隔为30秒。可以通过更改 Controller 管理器的--horizontal-pod-autoscaler-sync-period标志的值来通过进行配置。

Horizo​​ntal Pod Autoscaler被实现为一个控制循环,其周期由 Controller 管理器的--horizo​​ntal-pod-autoscaler-sync-period标志控制。

在每个期间, Controller 管理器都会根据每个Horizo​​ntalPodAutoscaler定义中指定的指标查询资源利用率。 Controller 管理器从资源指标API(针对每个pod资源指标)或自定义指标API(针对所有其他指标)获取指标。

为了更改/添加kube-controller-manager中的标志-您应该有权访问主节点上的/etc/kubernetes/manifests/目录,并且能够修改/etc/kubernetes/manifests/kube-controller-manager.yam l中的参数。

注意:您无法在GKE,EKS和其他托管群集上执行此操作。

此外,我建议增加--horizontal-pod-autoscaler-downscale-stabilization(替代--horizontal-pod-autoscaler-upscale-delay)。

如果您担心长时间中断,我建议您设置一个自定义指标(如果最后一个${duration}中的网络中断,则为1;否则,将指标的目标值设置为1(基于CPU的自动缩放功能除外)。这条路:

如果基于自定义指标的最后${duration}建议中的网络中断,则该值将等于您当前部署的大小。此建议的最大值和非常低的CPU建议将等于当前的部署大小。在恢复连接之前,不会缩减规模(由于缩减规模稳定窗口,此后+几分钟)。

如果网络可用,则基于该指标的建议将为0。将CPU推荐值最大化,它将等于CPU推荐值,并且自动定标器将正常运行。
我认为这比限制自动缩放步骤的大小更好地解决了您的问题。限制自动扩展步骤的大小只会减慢Pod数量减少的速度,因此更长的网络中断仍将导致您的部署缩减到最小允许大小。

您还可以使用基于内存的缩放

由于无法在Kubernetes中创建基于内存的hpa,因此已编写了脚本来实现该目的。您可以通过单击以下链接在此处找到我们的脚本:

https://github.com/powerupcloud/kubernetes-1/blob/master/memory-based-autoscaling.sh

克隆存储库:
https://github.com/powerupcloud/kubernetes-1.git

然后转到Kubernetes目录。执行帮助命令以获取说明:
./memory-based-autoscaling.sh --help

在此处阅读更多信息: memory-based-autoscaling

关于kubernetes - Kubernetes HPA-如何避免因CPU使用率飙升而扩大规模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59747323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com