6.4. Kafka Connect のデプロイ
Kafka Connect は、コネクタープラグインを使用して Kafka ブローカーと他のシステムの間でデータをストリーミングする統合ツールです。Kafka Connect は、Kafka と、データベースやメッセージングシステムなどの外部データソースまたはターゲットを統合するためのフレームワークを提供し、コネクターを使用してデータをインポートまたはエクスポートします。コネクターは、必要な接続設定を提供するプラグインです。
AMQ Streams では、Kafka Connect は分散 (distributed) モードでデプロイされます。Kafka Connect はスタンドアロンモードでも動作しますが、AMQ Streams ではサポートされません。
Kafka Connect は、コネクター の概念を使用し、スケーラビリティーと信頼性を維持しながら Kafka クラスターで大量のデータを移動するフレームワークを提供します。
Cluster Operator は、KafkaConnect リソースを使用してデプロイされた Kafka Connect クラスターと、KafkaConnector リソースを使用して作成されたコネクターを管理します。
Kafka Connect を使用するには、次のことを行う必要があります。
コネクター という用語は、Kafka Connect クラスター内で実行されているコネクターインスタンスや、コネクタークラスと同じ意味で使用されます。本ガイドでは、本文の内容で意味が明確である場合に コネクター という用語を使用します。
6.4.1. Kafka Connect の OpenShift クラスターへのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Cluster Operator を使用して Kafka Connect クラスターを OpenShift クラスターにデプロイする方法を説明します。
Kafka Connect クラスターのデプロイメントは、コネクターのワークロードを タスク として分散する設定可能な数のノード (ワーカー とも呼ばれます) を使用して実装されるため、メッセージフローのスケーラビリティと信頼性が高くなります。
デプロイメントでは、YAML ファイルの仕様を使用して KafkaConnect リソースが作成されます。
AMQ Streams には、設定ファイルのサンプル が用意されています。この手順では、以下のサンプルファイルを使用します。
-
examples/connect/kafka-connect.yaml
Kafka Connect クラスターをデプロイして並列実行する場合、各インスタンスは内部 Kafka Connect トピックに一意の名前を使用する必要があります。これを行うには、デフォルトを置き換えるように各 Kafka Connect インスタンスを設定 します。
手順
Kafka Connect を OpenShift クラスターにデプロイします。
examples/connect/kafka-connect.yamlファイルを使用して Kafka Connect をデプロイします。oc apply -f examples/connect/kafka-connect.yaml
oc apply -f examples/connect/kafka-connect.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントのステータスを確認します。
oc get pods -n <my_cluster_operator_namespace>
oc get pods -n <my_cluster_operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント名と準備状態が表示されている出力
NAME READY STATUS RESTARTS my-connect-cluster-connect-<pod_id> 1/1 Running 0
NAME READY STATUS RESTARTS my-connect-cluster-connect-<pod_id> 1/1 Running 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-connect-clusterは、Kafka Connect クラスターの名前です。Pod ID は、作成された各 Pod を識別します。
デフォルトのデプロイでは、単一の Kafka Connect Pod を作成します。
READYは、Ready/expected 状態のレプリカ数を表示します。STATUSがRunningと表示されれば、デプロイメントは成功です。
6.4.2. Kafka Connect クラスターリソースのリスト リンクのコピーリンクがクリップボードにコピーされました!
以下のリソースは、OpenShift クラスターの Cluster Operator によって作成されます。
- <connect_cluster_name>-connect
次の Kafka Connect リソースに付けられた名前:
-
Kafka Connect ワーカーノード Pod を作成するデプロイメント (
StableConnectIdentitiesフィーチャーゲートが無効な場合)。 -
Kafka Connect ワーカーノード Pod を作成する StrimziPodSet (
StableConnectIdentitiesフィーチャーゲートが有効な場合)。 -
安定した DNS 名を Connect Pod に提供するヘッドレスサービス (
StableConnectIdentitiesフィーチャーゲートが有効な場合)。 - Kafka Connect ワーカーノードに設定された Pod の Disruption Budget。
-
Kafka Connect ワーカーノード Pod を作成するデプロイメント (
- <connect_cluster_name>-connect-<pod_id>
-
Kafka Connect StrimziPodSet によって作成された Pod (
StableConnectIdentitiesフィーチャーゲートが有効な場合)。 - <connect_cluster_name>-connect-api
- Kafka Connect クラスターを管理するために REST インターフェイスを公開するサービス。
- <connect_cluster_name>-config
- Kafka Connect 補助設定が含まれ、Kafka ブローカー Pod によってボリュームとしてマウントされる ConfigMap。