第14章 Kafka への接続
Apache Kafka はデータの取得およびパブリッシュに使用できる分散ストリーミングプラットフォームです。インテグレーションでは、指定した Kafka トピックからデータをサブスクライブでき、または指定した Kafka トピックにデータを公開することもできます。これには、Fuse Online を有効にし、クラスターの Kafka ブローカーを検出します。その後、Kafka へのコネクションを作成し、そのコネクションをインテグレーションフローに追加します。詳細は以下を参照してください。
14.1. Kafka ブローカー/AMQ Streams の自動検出の有効化 リンクのコピーリンクがクリップボードにコピーされました!
インテグレーションで、AMQ Streams インスタンスである Kafka ブローカーに接続する予定である場合は、Kafka コネクションを作成する前に、このようなブローカーの自動検出を有効にします。これにより、コネクションの設定に必要な Kafka ブローカーの詳細が Fuse Online によって提供されるため、Kafka コネクションの作成が容易になります。
自動検出を有効にするには、クラスターのリソースを確認できる権限を OpenShift ユーザーアカウントにクラスターに付与します。特定の権限をアカウントに付与すると、ブローカーの異なるサブセットを検出できるようになります。
前提条件
- オンサイトで Fuse Online を OCP 上で稼働している必要があります。
-
oc
クライアントツールがインストール済みで、Kafka ブローカーの自動検出を有効にするクラスターに接続されている必要があります。 - クラスターの管理者権限が必要です。
- インテグレーションで接続する Kafka ブローカー (AMQ Streams インスタンス) が Fuse Online と同じクラスターにインストールされている必要があります。
手順
クラスター管理者権限を持つアカウントで OpenShift にログインします。以下に例を示します。
oc login -u admin -p admin
$ oc login -u admin -p admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在のプロジェクトが Fuse Online で稼働しているプロジェクトであることを確認します。現在のプロジェクトを表示するには、以下のコマンドを実行します。
oc project
$ oc project
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの Kafka ブローカーが
oc
ユーザーアカウントにアクセスできるようにするための権限を付与します。クラスターの設定方法によって、付与する必要のある権限が決まります。たとえば、minishift 上の Strimzi クラスターの場合、以下を行うことができます。クラスターの Kafka/Strimzi リソースにアクセスできるクラスターロールを作成します。以下の例では、
kafkas.kafka.strimzi.io-view
が新規ロールの名前になります。oc create clusterrole kafkas.kafka.strimzi.io-view --verb=get,list --resource=kafkas --resource=crd
oc create clusterrole kafkas.kafka.strimzi.io-view --verb=get,list --resource=kafkas --resource=crd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このクラスターロールを
oc
ユーザーに追加します。以下の例では、syndesis-server
がoc
ユーザーアカウントの名前になります。oc adm policy add-cluster-role-to-user kafkas.kafka.strimzi.io-view -z syndesis-server
oc adm policy add-cluster-role-to-user kafkas.kafka.strimzi.io-view -z syndesis-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
結果
Fuse Online で Kafka コネクションを作成すると、コネクション設定ページに利用できる Kafka ブローカーが表示されます。コネクションがアクセスするブローカーを選択します。