2.2. Kafka Connect のデプロイ


Kafka クラスターの設定後、Debezium のカスタムコンテナーイメージに Kafka Connect をデプロイします。このサービスは、Debezium MySQL コネクターを管理するためのフレームワークを提供します。

前提条件

  • Podman または Docker がインストールされ、コンテナーを作成および管理するのに十分な権限がある。

手順

  1. Red Hat Integration のダウンロードサイト から Debezium MySQL Connector 1.5 アーカイブをダウンロードします。
  2. Debezium MySQL コネクターアーカイブを展開して、コネクタープラグインのディレクトリー構造を作成します。以下に例を示します。

    tree ./my-plugins/
    ./my-plugins/
    ├── debezium-connector-mysql
    │   ├── ...
  3. Debezium MySQL コネクターで Kafka Connect を実行するカスタムイメージを作成し、パブリッシュします。

    1. registry.redhat.io/amq7/amq-streams-kafka-28-rhel8:1.8.0 をベースイメージとして使用して、新しい Dockerfile を作成します。以下の例では、my-plugins をプラグインディレクトリーの名前に置き換えます。

      FROM registry.redhat.io/amq7/amq-streams-kafka-28-rhel8:1.8.0
      USER root:root
      COPY ./my-plugins/ /opt/kafka/plugins/
      USER 1001

      Kafka Connect は、コネクターの実行を開始する前に /opt/kafka/plugins ディレクトリーにあるサードパーティープラグインをロードします。

    2. コンテナーイメージをビルドします。たとえば、前のステップで作成した Dockerfiledebezium-container-for-mysql として保存し、Dockerfile がカレントディレクトリーにある場合は、以下のコマンドのいずれかを入力します。

      podman build -t debezium-container-for-mysql:latest .
      docker build -t debezium-container-for-mysql:latest .
    3. カスタムイメージをコンテナーレジストリーにプッシュします。以下のいずれかのコマンドを実行します。

      podman push <my_registry.io>/debezium-container-for-mysql:latest
      docker push <my_registry.io>/debezium-container-for-mysql:latest
    4. KafkaConnect カスタムリソースの spec.image プロパティーを編集して、新しいコンテナーイメージを示すようにします。このプロパティーが設定されている場合、Cluster Operator の STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE 変数はこの値によって上書きされます。以下に例を示します。

      apiVersion: kafka.strimzi.io/v1beta2
      kind: KafkaConnect
      metadata:
        name: my-connect-cluster
        annotations:strimzi.io/use-connector-resources: "true"
      spec:
        #...
        image: debezium-container-for-mysql

結果

Kafka Connect が稼働します。コンテナーには Debezium MySQL コネクターがありますが、このコネクターはこの時点ではデータベースの変更をキャプチャーするように設定されていません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.