6.2. Knative Kafka の設定
Knative Kafka は、OpenShift Serverless でサポートされているバージョンの Apache Kafka メッセージストリーミングプラットフォームを使用する統合オプションを提供します。Kafka は、イベントソース、チャネル、ブローカー、およびイベントシンク機能のオプションを提供します。
OpenShift Serverless のコアインストールの一部として提供される Knative Eventing コンポーネントの他に、クラスター管理者は KnativeKafka
カスタムリソース (CR) をインストールできます。
現時点で、Knative Kafka は IBM Z および IBM Power Systems ではサポートされていません。
KnativeKafka
CR は、ユーザーに以下のような追加オプションを提供します。
- Kafka ソース
- Kafka チャネル
- Kafka ブローカー (テクノロジープレビュー)
- Kafka シンク (テクノロジープレビュー)
6.2.1. Knative Kafka のインストール
Knative Kafka は、OpenShift Serverless でサポートされているバージョンの Apache Kafka メッセージストリーミングプラットフォームを使用する統合オプションを提供します。KnativeKafka
カスタムリソースをインストールしている場合、Knative Kafka 機能は OpenShift Serverless インストールで使用できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing がクラスターにインストールされていること。
- Red Hat AMQ Streams クラスターにアクセスできる。
-
検証手順を使用する場合は、OpenShift CLI (
oc
) をインストールします。 - OpenShift Container Platform のクラスター管理者パーミッションがある。
- OpenShift Container Platform Web コンソールにログインしている。
手順
-
Administrator パースペクティブで、Operators
Installed Operators に移動します。 - ページ上部の Project ドロップダウンメニューが Project: knative-eventing に設定されていることを確認します。
- OpenShift Serverless Operator の Provided APIs の一覧で Knative Kafka ボックスを見つけ、Create Instance をクリックします。
Create Knative Kafka ページで KnativeKafka オブジェクトを設定します。
重要クラスターで Kafka チャネル、ソース、ブローカー、またはシンクを使用するには、使用するオプションの 有効な スイッチを true に切り替える必要があります。これらのスイッチは、デフォルトで false に設定されます。さらに、Kafka チャネル、ブローカー、またはシンクを使用するには、ブートストラップサーバーを指定する必要があります。
KnativeKafka
カスタムリソースの例apiVersion: operator.serverless.openshift.io/v1alpha1 kind: KnativeKafka metadata: name: knative-kafka namespace: knative-eventing spec: channel: enabled: true 1 bootstrapServers: <bootstrap_servers> 2 source: enabled: true 3 broker: enabled: true 4 defaultConfig: bootstrapServers: <bootstrap_servers> 5 numPartitions: <num_partitions> 6 replicationFactor: <replication_factor> 7 sink: enabled: true 8
- 1
- 開発者はクラスターで
KafkaChannel
チャネルを使用できます。 - 2
- AMQ Streams クラスターからのブートストラップサーバーのコンマ区切りの一覧。
- 3
- 開発者はクラスターで
KafkaSource
イベントソースタイプを使用できます。 - 4
- 開発者はクラスターで Knative Kafka ブローカー実装を使用できます。
- 5
- Red Hat AMQ Streams クラスターからのブートストラップサーバーのコンマ区切りリスト。
- 6
Broker
オブジェクトでサポートされる Kafka トピックのパーティション数を定義します。デフォルトは10
です。- 7
Broker
オブジェクトでサポートされる Kafka トピックのレプリケーション係数を定義します。デフォルトは3
です。- 8
- 開発者がクラスター内で Kafka シンクを使用できるようにします。
注記replicationFactor
の値は、Red Hat AMQ Streams クラスターのノード数以下である必要があります。- KnativeKafka オブジェクトの作成を完全に制御する必要がない単純な設定に、このフォームの使用が推奨されます。
- KnativeKafka オブジェクトの作成を完全に制御する必要のあるより複雑な設定には、YAML の編集が推奨されます。YAML にアクセスするには、Create Knative Kafka ページの右上にある Edit YAML リンクをクリックします。
- Kafka のオプションの設定が完了したら、Create をクリックします。Knative Kafka タブに自動的にダイレクトされます。ここで、knative-kafka はリソースの一覧にあります。
検証
- Knative Kafka タブで knative-kafka リソースをクリックします。Knative Kafka Overview ページに自動的にダイレクトされます。
リソースの Conditions (状態) の一覧を表示し、それらのステータスが True であることを確認します。
状態のステータスが Unknown または False である場合は、ページを更新するためにしばらく待機します。
Knative Eventing リソースが作成されていることを確認します。
$ oc get pods -n knative-eventing
出力例
NAME READY STATUS RESTARTS AGE kafka-broker-dispatcher-7769fbbcbb-xgffn 2/2 Running 0 44s kafka-broker-receiver-5fb56f7656-fhq8d 2/2 Running 0 44s kafka-channel-dispatcher-84fd6cb7f9-k2tjv 2/2 Running 0 44s kafka-channel-receiver-9b7f795d5-c76xr 2/2 Running 0 44s kafka-controller-6f95659bf6-trd6r 2/2 Running 0 44s kafka-source-dispatcher-6bf98bdfff-8bcsn 2/2 Running 0 44s kafka-webhook-eventing-68dc95d54b-825xs 2/2 Running 0 44s