開発者向け設定オプション¶
Broker の設定¶
- Broker には有効な
nameを指定できます。defaultを使用すると、defaultという名前の Broker が作成されます。 namespaceは、クラスター内の既存の名前空間である必要があります。defaultを使用すると、default名前空間に Broker が作成されます。
イベント配信オプション¶
- 配信されなかったメッセージのエラー処理と監査には、
dead-letter sinkを使用できます。配信されなかったメッセージが送信される Kubernetes オブジェクト参照をrefで指定し、配信されなかったメッセージをルーティングするオプションの URI をuriで指定します。 - 再試行間隔の遅延戦略を定義するために、
Backoff policiesを設定できます。これはexponentialまたはlinearに設定できます。 - ISO 8601 期間形式を使用して、再試行前の初期遅延を指定するために、
Backoff delayを設定できます。 retry設定を使用して、イベントを dead-letter sink に送信する前に、再試行回数を指定できます。spec.deliveryは、イベント配信オプションを設定するために使用されます。イベント配信オプションでは、イベントシンクへの配信に失敗したイベントに何が起こるかを指定します。詳細については、イベント配信に関するドキュメントを参照してください。
高度な Broker クラスオプション¶
eventing.knative.dev/broker.class アノテーションを指定せずに Broker が作成された場合、デフォルトでは config-br-defaults ConfigMap で指定されているように、MTChannelBasedBroker Broker クラスが使用されます。
クラスターに複数の Broker クラスがインストールされており、Broker にデフォルト以外の Broker クラスを使用したい場合は、Broker オブジェクトの eventing.knative.dev/broker.class アノテーションと spec.config を変更できます。
-
eventing.knative.dev/broker.classアノテーションを設定します。次の例のMTChannelBasedBrokerを、使用するクラスタイプに置き換えます。Broker クラスアノテーションは不変であり、Broker の作成後に更新できないことに注意してください。 -
Broker クラスに必要な設定を定義する ConfigMap (例:
MTChannelBasedBrokerの場合は一部の Channel 設定) の詳細を使用して、spec.configを設定します。
デフォルトの Broker クラスをクラスター全体または名前空間ごとに設定する方法の詳細については、管理者設定オプションを確認してください。
Broker 設定の例¶
以下は、変更可能な構成オプションを示す、Channel ベースの Broker オブジェクトの完全な例です。
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
name: default
namespace: default
annotations:
eventing.knative.dev/broker.class: MTChannelBasedBroker
spec:
config:
apiVersion: v1
kind: ConfigMap
name: config-br-default-channel
namespace: knative-eventing
delivery:
deadLetterSink:
ref:
kind: Service
namespace: example-namespace
name: example-service
apiVersion: v1
uri: example-uri
retry: 5
backoffPolicy: exponential
backoffDelay: "PT1S"