6.4. Kafka Connect のデプロイ


Kafka Connect は、コネクタープラグインを使用して Kafka ブローカーと他のシステムの間でデータをストリーミングする統合ツールです。Kafka Connect は、Kafka と、データベースやメッセージングシステムなどの外部データソースまたはターゲットを統合するためのフレームワークを提供し、コネクターを使用してデータをインポートまたはエクスポートします。コネクターは、必要な接続設定を提供するプラグインです。

Streams for Apache Kafka では、Kafka Connect は分散モードでデプロイされます。Kafka Connect はスタンドアロンモードでも動作しますが、Streams for Apache Kafka ではサポートされません。

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 リソースが作成されます。

Streams for Apache Kafka は、設定ファイルのサンプル を提供します。この手順では、以下のサンプルファイルを使用します。

  • examples/connect/kafka-connect.yaml
重要

Kafka Connect クラスターをデプロイして並列実行する場合、各インスタンスは内部 Kafka Connect トピックに一意の名前を使用する必要があります。これを行うには、デフォルトを置き換えるように各 Kafka Connect インスタンスを設定 します。

手順

  1. Kafka Connect を OpenShift クラスターにデプロイします。examples/connect/kafka-connect.yaml ファイルを使用して Kafka Connect をデプロイします。

    oc apply -f examples/connect/kafka-connect.yaml
  2. デプロイメントのステータスを確認します。

    oc get pods -n <my_cluster_operator_namespace>

    デプロイメント名と準備状態が表示されている出力

    NAME                                 READY  STATUS   RESTARTS
    my-connect-cluster-connect-<pod_id>  1/1    Running  0

    my-connect-cluster は、Kafka Connect クラスターの名前です。

    Pod ID は、作成された各 Pod を識別します。

    デフォルトのデプロイでは、単一の Kafka Connect Pod を作成します。

    READY は、Ready/expected 状態のレプリカ数を表示します。STATUSRunning と表示されれば、デプロイメントは成功です。

6.4.2. Kafka Connect クラスターリソースのリスト

以下のリソースは、OpenShift クラスターの Cluster Operator によって作成されます。

<connect_cluster_name>-connect

次の Kafka Connect リソースに付けられた名前:

  • Kafka Connect ワーカーノード Pod を作成する StrimziPodSet。
  • Kafka Connect Pod に安定した DNS 名を提供するヘッドレスサービス。
  • Kafka Connect Pod によって使用されるサービスアカウント。
  • Kafka Connect ワーカーノードに設定された Pod の Disruption Budget。
  • Kafka Connect REST API へのアクセスを管理するネットワークポリシー。
<connect_cluster_name>-connect-<pod_id>
Kafka Connect StrimziPodSet によって作成された Pod。
<connect_cluster_name>-connect-api
Kafka Connect クラスターを管理するために REST インターフェイスを公開するサービス。
<connect_cluster_name>-connect-config
Kafka Connect 補助設定が含まれ、Kafka Connect Pod によってボリュームとしてマウントされる ConfigMap。
strimzi-<namespace-name>-<connect_cluster_name>-connect-init
Kafka Connect クラスターによって使用されるクラスターロールバインディング。
<connect_cluster_name>-connect-build
Pod は、追加のコネクタープラグインを使用して新しいコンテナーイメージを構築するために使用されます (Kafka Connect Build 機能が使用されている場合のみ)。
<connect_cluster_name>-connect-dockerfile
追加のコネクタープラグインを使用して新しいコンテナーイメージをビルドするために生成された Dockerfile を含む ConfigMap (Kafka Connect ビルド機能が使用されている場合のみ)。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.