Knative KafkaリソースのKEDAオートスケーリングの設定¶
イベントをディスパッチするすべてのKnative Kafkaコンポーネント(ソース、チャネルブローカー)は、KEDAを使用してディスパッチャデータプレーンのスケーリングをサポートしています。
重要
この機能はアルファ版です。
Kafkaコンポーネントのオートスケーリングの有効化¶
重要
オートスケーリングを有効にすると、すべてのKafkaSource、Kafkaブローカーを参照するトリガー、およびKafkaチャネルを参照するサブスクリプションのスケーリングが有効になります。
この機能を有効にするには、`config-kafka-features` configmapを変更し、`controller-autoscaler-keda`フラグを`enabled`に設定する必要があります。この機能を動作させるには、クラスタにKEDAをインストールする必要もあります。
変更後のconfigmapは次のようになります。
apiVersion: v1
kind: ConfigMap
metadata:
name: config-kafka-features
namespace: knative-eventing
data:
controller-autoscaler-keda: enabled
# other features and config options...
リソースのオートスケーリングの設定¶
KEDAがKafkaSource、トリガー、またはサブスクリプションをどのようにスケーリングするかをカスタマイズする場合は、リソースにアノテーションを設定できます。
apiVersion: <eventing|messaging|sources>.knative.dev/v1
kind: <KafkaSource|Subscription|Trigger>
metadata:
annotations:
# The minimum number of replicas to scale down to
autoscaling.eventing.knative.dev/min-scale: "0"
# The maximum number of replicas to scale up to
autoscaling.eventing.knative.dev/max-scale: "50"
# The interval in seconds the autoscaler uses to poll metrics in order to inform its scaling decisions
autoscaling.eventing.knative.dev/polling-interval: "10"
# The period in seconds the autoscaler waits until it scales down
autoscaling.eventing.knative.dev/cooldown-period: "30"
# The lag that is used for scaling (1<->N)
autoscaling.eventing.knative.dev/lag-threshold: "100"
# The lag that is used for activation (0<->1)
autoscaling.eventing.knative.dev: "0"
spec:
# Spec fields for the resource...
リソースのオートスケーリングの無効化¶
KafkaSource、トリガー、またはサブスクリプションのオートスケーリングを無効にするには、リソースにアノテーションを設定する必要があります。
apiVersion: <eventing|messaging|sources>.knative.dev/v1
kind: <KafkaSource|Subscription|Trigger>
metadata:
annotations:
autoscaling.eventing.knative.dev/class: disabled
spec:
# Spec fields for the resource...