0

コンシューマー グループのラグに基づいてカフカ コンシューマーをスケーリングするために、Kubernetes 水平ポッド オートスケーラーを実行しています。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 で、レプリカが 1 つしかない場合、Kubernetes は 4 つのレプリカのみをスケールアップしました (下のスクリーン ショットに示すように) が、理論的には 10 にスケールアップする必要があります (最大許容レプリカ数)...

ここに画像の説明を入力

理由について何か考えはありますか?HPA調整ループの1回の反復ごとにスケーリング/複製できるレプリカの最大数など、何か不足していますか?

スクリーンショットの「ScalingLimited True ScaleUpLimit 必要なレプリカ数が最大スケール レートよりも速く増加しています」というメッセージに注意してください。これはどういう意味ですか?

ありがとう。

4

0 に答える 0