6.2.4. コネクターの作成および管理
コネクタープラグインのコンテナーイメージを作成したら、Kafka Connect クラスターにコネクターインスタンスを作成する必要があります。その後、稼働中のコネクターインスタンスを設定、監視、および管理できます。
コネクターは特定の コネクタークラス のインスタンスで、メッセージに関して関連する外部システムとの通信方法を認識しています。コネクターは多くの外部システムで使用でき、独自のコネクターを作成することもできます。
ソース および シンク タイプのコネクターを作成できます。
- ソースコネクター
- ソースコネクターは、外部システムからデータを取得し、それをメッセージとして Kafka に提供するランタイムエンティティーです。
- シンクコネクター
- シンクコネクターは、Kafka トピックからメッセージを取得し、外部システムに提供するランタイムエンティティーです。
6.2.4.1. コネクターの作成および管理用の API
AMQ Streams では、コネクターの作成および管理に 2 つの API が提供されます。
-
KafkaConnector
カスタムリソース (KafkaConnectors と呼ばれます) - Kafka Connect REST API
API を使用すると、以下を行うことができます。
- コネクターインスタンスのステータスの確認。
- 稼働中のコネクターの再設定。
- コネクターインスタンスのコネクタータスク数の増減。
- コネクターの再起動。
- 失敗したタスクを含むコネクタータスクの再起動。
- コネクターインスタンスの一時停止。
- 一時停止したコネクターインスタンスの再開。
- コネクターインスタンスの削除。
KafkaConnector カスタムリソース
KafkaConnectors を使用すると、Kafka Connect のコネクターインスタンスを OpenShift ネイティブに作成および管理できるため、cURL などの HTTP クライアントが必要ありません。その他の Kafka リソースと同様に、コネクターの望ましい状態を OpenShift クラスターにデプロイされた KafkaConnector
YAML ファイルに宣言し、コネクターインスタンスを作成します。KafkaConnector
リソースは、リンク先の Kafka Connect クラスターと同じ namespace にデプロイする必要があります。
該当する KafkaConnector
リソースを更新して稼働中のコネクターインスタンスを管理した後、更新を適用します。該当する KafkaConnector
を削除して、コネクターを削除します。
下位バージョンの AMQ Streams との互換性を維持するため、KafkaConnectors はデフォルトで無効になっています。Kafka Connect クラスターの KafkaConnectors を有効にするには、KafkaConnect
リソースで strimzi.io/use-connector-resources
アノテーションを true
に設定します。手順は、Configuring Kafka Connect を参照してください。
KafkaConnectors が有効になると、Cluster Operator によって監視が開始されます。KafkaConnectors に定義された設定と一致するよう、稼働中のコネクターインスタンスの設定を更新します。
AMQ Streams には KafkaConnector
設定ファイルの例が含まれます。これをもとに、 を使用して FileStreamSourceConnector
と FileStreamSinkConnector
を作成、管理できます。
KafkaConnector
リソースにアノテーションを付けて、コネクターの再起動 または コネクタータスクの再起動 ができます。
Kafka Connect API
Kafka Connect REST API でサポートされる操作は、Apache Kafka Connect API のドキュメント で説明されています。
Kafka Connect API の使用から KafkaConnectors の使用への切り替え
Kafka Connect API の使用から KafkaConnectors の使用に切り替えると、コネクターを管理できます。スイッチの作成は、次の作業を以下の順序で行います。
-
設定で
KafkaConnector
リソースをデプロイし、コネクターインスタンスを作成します。 -
strimzi.io/use-connector-resources
アノテーションをtrue
に設定して、Kafka Connect 設定で KafkaConnectors を有効にします。
リソースを作成する前に KafkaConnectors を有効にすると、すべてのコネクターが削除されます。
KafkaConnectors の使用から Kafka Connect API の使用に切り替えるには、まず Kafka Connect 設定から KafkaConnectors を有効にするアノテーションを削除します。それ以外の場合、Kafka Connect REST API を使用して直接行われた手動による変更は、 Cluster Operator によって元に戻されます。