6.2.3. Kafka ブローカー構成の設定
設定マップを作成し、Kafka Broker
オブジェクトでこの ConfigMap を参照することで、レプリケーション係数、ブートストラップサーバー、および Kafka ブローカーのトピックパーティションの数を設定できます。
前提条件
- OpenShift Dedicated でのクラスターまたは Dedicated 管理者パーミッションがある。
-
OpenShift Serverless Operator、Knative Eventing、および
KnativeKafka
カスタムリソース (CR) が OpenShift Dedicated クラスターにインストールされている。 - OpenShift Dedicated でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
手順
kafka-broker-config
ConfigMap を変更するか、以下の設定が含まれる独自の ConfigMap を作成します。apiVersion: v1 kind: ConfigMap metadata: name: <config_map_name> 1 namespace: <namespace> 2 data: default.topic.partitions: <integer> 3 default.topic.replication.factor: <integer> 4 bootstrap.servers: <list_of_servers> 5
- 1
- ConfigMap 名。
- 2
- ConfigMap が存在する namespace。
- 3
- Kafka ブローカーのトピックパーティションの数。これは、イベントをブローカーに送信する速度を制御します。パーティションが多い場合には、コンピュートリソースが多く必要です。
- 4
- トピックメッセージのレプリケーション係数。これにより、データ損失を防ぐことができます。レプリケーション係数を増やすには、より多くのコンピュートリソースとストレージが必要になります。
- 5
- ブートストラップサーバーのコンマ区切りリスト。OpenShift Dedicated クラスター内部または外部に存在する可能性があり、ブローカーがイベントを送受信する先の Kafka クラスターの一覧です。
重要default.topic.replication.factor
の値は、クラスター内の Kafka ブローカーインスタンスの数以下である必要があります。たとえば、Kafka ブローカーが 1 つしかない場合には、default.topic.replication.factor
の値は"1"
を超える値にすることはできません。Kafka ブローカーの ConfigMap の例
apiVersion: v1 kind: ConfigMap metadata: name: kafka-broker-config namespace: knative-eventing data: default.topic.partitions: "10" default.topic.replication.factor: "3" bootstrap.servers: "my-cluster-kafka-bootstrap.kafka:9092"
ConfigMap を適用します。
$ oc apply -f <config_map_filename>
Kafka
Broker
オブジェクトの ConfigMap を指定します。Broker オブジェクトの例
apiVersion: eventing.knative.dev/v1 kind: Broker metadata: name: <broker_name> 1 namespace: <namespace> 2 annotations: eventing.knative.dev/broker.class: Kafka 3 spec: config: apiVersion: v1 kind: ConfigMap name: <config_map_name> 4 namespace: <namespace> 5 ...
ブローカーを適用します。
$ oc apply -f <broker_filename>
関連情報