コンテンツへスキップ

チャネルベースのブローカ

チャネルベースのブローカ(MTChannelBasedBroker)は、イベントルーティングにチャネルを使用します。これはKnative Eventingにデフォルトで同梱されています。通常、ネットワークホップ数を削減するため、ユーザーはMTChannelBasedBrokerとチャネルの組み合わせよりもネイティブなブローカの実装(Apache Kafka用KnativeブローカRabbitMQブローカなど)を優先する必要があります。

前提条件

  • Knative Eventingがインストールされていること。
  • チャネル実装がインストールされていること。

MTChannelBasedBrokerはチャネルに基づいているため、チャネル実装をインストールする必要があります。Knative Eventingで使用可能なチャネルの(網羅的ではない)一覧については、使用可能なチャネルを参照してください。

たとえば、次のコマンドを実行してInMemoryチャネルをインストールできます。

kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.16.0/in-memory-channel.yaml

MTChannelBasedBrokerの作成

kn CLIを使用するか、kubectlを使用してYAMLファイルを実行することで、MTChannelBasedBrokerを作成できます。

次のコマンドを入力してMTChannelBasedBrokerを作成できます。

kn broker create <broker-name> --class MTChannelBasedBroker
ここで、<broker-name>はブローカの名前です。

次の例にあるYAMLは、ブローカを作成します。

  1. 次のテンプレートを使用してYAMLファイルを作成することで、MTChannelBasedBrokerを作成できます。

    apiVersion: eventing.knative.dev/v1
    kind: Broker
    metadata:
      annotations:
        eventing.knative.dev/broker.class: MTChannelBasedBroker
      name: <broker-name>
    
    ここで、<broker-name>はブローカの名前です。

    注記

    ブローカクラスは、eventing.knative.dev/broker.classアノテーションで指定されていることに注意してください。

  2. YAMLファイルの実行

    kubectl apply -f <filename>.yaml
    
    ここで、<filename>は前の手順で作成したファイルの名前です。

設定

ブローカオブジェクト自体を設定するか、クラスタまたは名前空間のデフォルト値を定義できます。

ブローカ固有の設定

spec.configでConfigMapを参照することで、各ブローカを個別に設定できます。

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  annotations:
    eventing.knative.dev/broker.class: MTChannelBasedBroker
  name: default
spec:
  # Configuration specific to this broker.
  config:
    apiVersion: v1
    kind: ConfigMap
    name: my-broker-specific-configuration
    namespace: default

参照されるConfigMapには、このブローカの基礎となるチャネル実装と、いくつかのチャネル固有の設定を定義するchannel-template-specが含まれている必要があります。例:

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-broker-specific-configuration
  namespace: default
data:
  channel-template-spec: |
    apiVersion: messaging.knative.dev/v1
    kind: InMemoryChannel

Kafkaチャネル設定例

apiVersion: v1
kind: ConfigMap
metadata:
  name: kafka-channel
  namespace: knative-eventing
data:
  channel-template-spec: |
    apiVersion: messaging.knative.dev/v1beta1
    kind: KafkaChannel
    spec:
      numPartitions: 3
      replicationFactor: 1

ブローカのデフォルト設定

config-br-defaults ConfigMapは、spec.configまたはブローカクラスを指定していないブローカのデフォルト値を定義します。これらのデフォルト値は、クラスタ全体または名前空間ごとに定義できます。ブローカのデフォルトをクラスタ全体または名前空間ごとに設定する方法については、管理者設定オプションを参照してください。

開発者向けドキュメント

MTChannelBasedBrokerの詳細については、MTChannelBasedBroker開発者向けドキュメントを参照してください。

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