Kubernetes 水平 pod 自动缩放器 - 目标副本计算

问题描述

我正在运行 Kubernetes 水平 pod 自动缩放器,以根据消费者组滞后扩展 kafka 消费者。 HPA yaml 文件如下所示。

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
Metadata:
  name: kafka-consumer-application
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: kafka-consumer-application
  minReplicas: 1
  maxReplicas: 10
  metrics:
    - type: External
      external:
        metric:
          name: kafka_consumergroup_lag
        target:
          type: AverageValue
          averageValue:5 

我观察到 HPA 不是严格按照公式ceil(currentReplicas * currentMetricValue/desiredMetricValue)来缩放副本。

例如,当指标(消费者滞后)为 108 且只有一个副本时,Kubernetes 仅扩展了 4 个副本(如下面的屏幕截图所示),而理论上它应该扩展到 10(允许的最大副本)。 ..

enter image description here

知道原因吗?我是否遗漏了一些东西,例如 HPA 协调循环的每次迭代可以扩展/复制的最大副本数?

请注意屏幕截图中的消息“ScalingLimited True ScaleUpLimit 所需的副本数量增加得比最大扩展速率快”是什么意思?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)