1

プレーンな HPA を使用すると、基盤となるデプロイメントを手動でゼロにスケーリングできます。これは、たとえば次の場合に必要です。保守作業。ゼロより大きい値にスケールバックすると、スケーリングは以前と同様に続行されます。これは実行されたコマンドです:kubectl scale deployment my-deployment --replicas=0

ただし、KEDA では、これは不可能です。ドキュメントの唯一の場所は次のとおりです。

KEDA はその値を強制しません。つまり、デプロイを手動で 0 にスケーリングしても、KEDA はそれをスケールアップしません。ただし、KEDA 自体が展開をスケーリングしている場合は、そこに設定された値が尊重されます。

この動作を確認できず、以前のスケーリング コマンドも機能しません。and を手動で 0 に変更するminReplicasmaxReplicas、keda ログに多くのエラーがスローされます。デプロイメントを偽の値にポイントすると、同じことが起こります。

一時的にゼロにスケーリングする方法が必要です (ScaledObject の削除はもちろん機能しますが、それらをどこかに保存する必要があり、これもエラーが発生しやすく、直感に反します)。これは、 の値とは無関係に機能するはずですminReplicaCount

Kubernetes 1.15、ケダ 1.5.0 を使用。ScaledObject の例:

apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata: ... # left out
spec:
  cooldownPeriod: 600
  maxReplicaCount: 8
  minReplicaCount: 0
  pollingInterval: 30
  scaleTargetRef:
    containerName: main
    deploymentName: my-deployment
  scaleType: deployment
  triggers:
  - type: kafka
    ... # left out
status:
  externalMetricNames:
  - lagThreshold
  lastActiveTime: "2020-07-21T11:32:31Z"
4

0 に答える 0