コンテンツへスキップ

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...

サイトトラフィックを理解するために、分析とCookieを使用しています。当サイトのご利用に関する情報は、その目的でGoogleと共有されます。詳細はこちら。