我正在运行一个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(允许的最大副本数)......
关于原因的任何想法?我是否遗漏了诸如 HPA 协调循环的每次迭代可以缩放/复制的最大副本数之类的东西?
请注意屏幕截图中的消息“ScalingLimited True ScaleUpLimit 所需的副本数增加的速度快于最大缩放率”是什么意思?
谢谢。