gpt4 book ai didi

kubernetes - Kubernetes HPA-扩大冷却时间

转载 作者:行者123 更新时间:2023-12-02 11:59:14 25 4
gpt4 key购买 nike

我正在运行带有HPA的Kubernetes集群v1.16(当前是GKE的最新版本),该集群可基于自定义指标(具体来说是从Google云监控中获取的Rabbitmq消息计数)来扩展部署。
问题
当消息数暂时很高时,部署会迅速扩展到最大pod数。
信息
在GKE上,HPA --horizo​​ntal-pod-autoscaler-sync-period设置为15秒,据我所知无法更改。
我的自定义指标每30秒更新一次。
我相信导致这种现象的原因是,每15秒队列中有大量消息时,HPA会触发放大,并在几个周期后达到最大容器容量。
在kubernetes api v1.18中,您可以控制放大的稳定时间,但是在v1.16中找不到类似的功能。
我的问题
我怎样才能使HPA逐渐扩大规模?
编辑1
我的一项部署的示例HPA:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: my-deployment-hpa
namespace: production
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
minReplicas: 6
maxReplicas: 100
metrics:
- type: External
external:
metricName: "custom.googleapis.com|rabbit_mq|v1-compare|messages_count"
metricSelector:
matchLabels:
metric.labels.name: production
targetValue: 500

最佳答案

首先,要了解的很多信息是,Kubernetes中内置了自动缩放器的冷却时间。来自Kubernetes的引用

Currently, a scale-up will occur only if no rescaling event occurred in the last three minutes. A scale-down event is performed even less frequently—every five minutes. Keep this in mind so you don’t wonder why the autoscaler refuses to perform a rescale operation even if the metrics clearly showthat it should.


该语句可能已过时,但是除非更改,否则将对其进行硬编码,并且每个向上/向下缩放事件的缩放比例不应超过现有Pod的100%。
话虽如此,您还是不会选择任何一种方式,这是您可以采用的一些方法:
  • 通过时间平均函数传递用于扩展的自定义指标-上一次我使用prometheus时,promql可能与您所使用的有所不同,但是如果您在问题中共享更多配置,我敢肯定帮助查找语法。
  • 您可以尝试使用Keda -它具有cooldownPeriod对象,您可以将其放置在随附的ScaledObject自定义资源中。
  • 关于kubernetes - Kubernetes HPA-扩大冷却时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64523941/

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