第3章 Kafka Connect ベースイメージからのコンテナーイメージの作成
Kafka Connect S2I を使用する代わりに、Docker を使用して独自の CDC イメージを構築する方法があります。Red Hat Container Catalog の Kafka コンテナーイメージを、追加のコネクタープラグインで独自のカスタムイメージを作成するためのベースイメージとして使用できます。
以下の手順では、カスタムイメージを作成し、/opt/kafka/plugins
ディレクトリーに追加する方法を説明します。起動時に、Debezium バージョンの Kafka Connect は /opt/kafka/plugins
ディレクトリーに含まれるサードパーティーのコネクタープラグインをロードします。
前提条件
- AMQ Streams Cluster Operator がデプロイされている必要があります。
手順
registry.redhat.io/amq7/amq-streams-kafka-24:1.4.0 をベースイメージとして使用して、新規の
。Dockerfile
を作成しますFROM registry.redhat.io/amq7/amq-streams-kafka-24:1.4.0 USER root:root COPY ./my-plugins/ /opt/kafka/plugins/ USER 1001
コンテナーイメージをビルドします。
docker build -t my-new-container-image:latest
カスタムイメージをコンテナーレジストリーにプッシュします。
docker push my-new-container-image:latest
新しいコンテナーイメージを示します。
以下のいずれかを行います。
KafkaConnect
カスタムリソースのKafkaConnect.spec.image
プロパティーを編集します。このプロパティーが設定されていると、クラスターオペレータの
STRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE
変数がオーバーライドされます。apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... image: my-new-container-image
または
-
install/cluster-operator/050-Deployment-strimzi-cluster-operator.yaml
ファイルのSTRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE
変数を編集し、新しいコンテナーイメージを示すようにした後、Cluster Operator を再インストールします。このファイルを編集する場合は、これを OpenShift クラスターに適用する必要があります。
関連情報
-
KafkaConnect.spec.image property
およびSTRIMZI_DEFAULT_KAFKA_CONNECT_IMAGE
変数の詳細は、Using AMQ Streams on OpenShift を参照してください。