KubernetesでKafka-connectのコネクタを作成するにはどうすればよいですか?

アミット・ヤダフ

分散モードでcp- kafka - connectHelmチャートを使用して、Kafka-connectをGoogle Kubernetes Engine(GKE)にデプロイしています。

ブローカーとzookeeperを備えた稼働中のKafkaクラスターは、同じGKEクラスターですでに実行されています。http://localhost:8083/connectors利用可能になったらエンドポイントに投稿リクエストを送信することでコネクタを作成できることを理解しています。ただし、Kafka-connectコンテナはRUNNING状態になり、jarファイルのロードを開始し、すべてのjarファイルがロードされるまで、上記のエンドポイントに到達できません。

execポッドを手動で自動化する方法を探しています。エンドポイントの準備ができているかどうかを確認してから、投稿リクエストを送信します。curl -X POSTコネクタを作成するためのこのエンドポイントへの多数リクエストを含むシェルスクリプトがあり、スタンドアロンモードで正常に機能するこれらのコネクタの構成ファイルもあります(このconfluentブログのConfluentプラットフォームショーを使用)。

現在、コネクタを作成する方法は2つしかありません。

  1. コンテナが実際に準備ができたとき(エンドポイントがリッスンを開始したとき)を何らかの方法で識別し、curlリクエストを含むシェルスクリプトを実行します
  2. 私たちは、スタンドアロンモードでそうであるようにORの構成ファイルを使用します(例:$ <path/to/CLI>/confluent local load connector_name -- -d /connector-config.json

上記のアプローチのどれが良いですか?

2番目のアプローチ(構成ファイル)は分散モードでも実行できますか?

  • はいの場合それを行う方法は?
  • いいえの場合最初のアプローチで説明されていることをうまく行うにはどうすればよいですか?

編集:彼のgithubの問題を参照して(以下の@ cricket_007の回答に感謝します)、エンドポイントの準備ができた後にコンテナコマンドとコネクタが作成されたときに以下を追加しました:

...
command:
  - /bin/bash
  - -c
  - |
    /etc/confluent/docker/run &
    echo "Waiting for Kafka Connect to start listening on kafka-connect  "
    while : ; do
      curl_status=`curl -s -o /dev/null -w %{http_code} http://localhost:8083/connectors`
      echo -e `date` " Kafka Connect listener HTTP state: " $curl_status " (waiting for 200)"
      if [ $curl_status -eq 200 ] ; then
        break
      fi
      sleep 5
    done
    echo -e "\n--\n+> Creating Kafka Connector(s)"
    /tmp/scripts/create-connectors.sh
    sleep infinity
...

/tmp/scripts/create-connectors.sh Kafka-connectAPIへのCURLを使用して一連のPOSTリクエストを含む外部にマウントされたスクリプトです。

OneCricketeer

confluent local KubernetesのようなリモートConnectクラスターとは相互作用しません。

Kafka Connect RESTAPIを参照してください

クラスタで実行されている他のRESTfulAPIと同じように接続します(たとえば、Nodeport、またはIngress / API Gatewayを介して)

上記のエンドポイントに到達できません。

Localhostは、コマンドを入力する物理マシンであり、リモートGKEクラスターではありません。

どういうわけか、コンテナが実際にいつ準備ができているかを特定します

Kubernetesヘルスチェックがその責任を負います

kubectl get services

コネクタを作成する方法は2つだけです

それは真実ではない。クラスター内でLandoopのKafkaConnectUIまたはConfluentControl Centerを追加で実行して、ポイントアンドクリックすることもできます。

ただし、ローカル構成ファイルがある場合は、APIと対話するコードを作成することもできます

または、この問題のPRを作成できるかどうか試してみてください

https://github.com/confluentinc/cp-docker-images/issues/467

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ジェネレーターのクローンを作成するにはどうすればよいですか?

分類Dev

JTextFieldのジェネリックセッターを作成するにはどうすればよいですか?

分類Dev

すべてのコネクタ識別子を確認するにはどうすればよいですか?

分類Dev

Coffeescriptで別のコンストラクターを作成するにはどうすればよいですか?

分類Dev

この `クラスデコレータ`を作成するにはどうすればよいですか?

分類Dev

データコンストラクターのジェネリック関数を作成するにはどうすればよいですか?

分類Dev

交換可能なタイプの因果コネクタを作成するにはどうすればよいですか?

分類Dev

JavaScriptクラスでジェネレーターを作成するにはどうすればよいですか?

分類Dev

haskellでジェネリックComplexタイプを作成するにはどうすればよいですか?

分類Dev

KubernetesのpersistentVolumeを再作成するにはどうすればよいですか?

分類Dev

ジェネリック関連タイププロトコルの配列を迅速に作成するにはどうすればよいですか?

分類Dev

Swingでこのコンポーネントを作成するにはどうすればよいですか?

分類Dev

FormControls用に独自のコンポーネントを作成するにはどうすればよいですか?

分類Dev

15.10でUSBType Cコネクタを有効にするにはどうすればよいですか?

分類Dev

React JSコンポーネントクラスのスタイルを作成するにはどうすればよいですか?

分類Dev

新しく作成されたコネクタがまっすぐであることを確認するにはどうすればよいですか?

分類Dev

JMXWS WSコネクタ(JSR-262)でVisualVMを起動するにはどうすればよいですか?

分類Dev

組み込みTomcatでAJPコネクタを設定するにはどうすればよいですか?

分類Dev

pysparkでSparkRiakコネクタを使用するにはどうすればよいですか?

分類Dev

kubeadmを使用してkubernetesクラスターを作成するにはどうすればよいですか?

分類Dev

クラス内でデコレータを作成するにはどうすればよいですか?

分類Dev

SASL対応のZookeeperでKafkaトピックを作成するにはどうすればよいですか?

分類Dev

MySQLコネクタをUWPC#アプリに追加するにはどうすればよいですか?

分類Dev

このジェネレーターループを作成するにはどうすればよいですか?

分類Dev

Javaのmongoコネクタからxmlを返すにはどうすればよいですか?

分類Dev

Pythonでネストされたタプルを含むタプルのコピーを作成するにはどうすればよいですか?

分類Dev

JDBCソースコネクタ(kafka)のキーを設定するにはどうすればよいですか?

分類Dev

特定のSynchronizationContextに投稿されるタスクを作成するにはどうすればよいですか?

分類Dev

ジェネリック関数の値を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    ジェネレーターのクローンを作成するにはどうすればよいですか?

  2. 2

    JTextFieldのジェネリックセッターを作成するにはどうすればよいですか?

  3. 3

    すべてのコネクタ識別子を確認するにはどうすればよいですか?

  4. 4

    Coffeescriptで別のコンストラクターを作成するにはどうすればよいですか?

  5. 5

    この `クラスデコレータ`を作成するにはどうすればよいですか?

  6. 6

    データコンストラクターのジェネリック関数を作成するにはどうすればよいですか?

  7. 7

    交換可能なタイプの因果コネクタを作成するにはどうすればよいですか?

  8. 8

    JavaScriptクラスでジェネレーターを作成するにはどうすればよいですか?

  9. 9

    haskellでジェネリックComplexタイプを作成するにはどうすればよいですか?

  10. 10

    KubernetesのpersistentVolumeを再作成するにはどうすればよいですか?

  11. 11

    ジェネリック関連タイププロトコルの配列を迅速に作成するにはどうすればよいですか?

  12. 12

    Swingでこのコンポーネントを作成するにはどうすればよいですか?

  13. 13

    FormControls用に独自のコンポーネントを作成するにはどうすればよいですか?

  14. 14

    15.10でUSBType Cコネクタを有効にするにはどうすればよいですか?

  15. 15

    React JSコンポーネントクラスのスタイルを作成するにはどうすればよいですか?

  16. 16

    新しく作成されたコネクタがまっすぐであることを確認するにはどうすればよいですか?

  17. 17

    JMXWS WSコネクタ(JSR-262)でVisualVMを起動するにはどうすればよいですか?

  18. 18

    組み込みTomcatでAJPコネクタを設定するにはどうすればよいですか?

  19. 19

    pysparkでSparkRiakコネクタを使用するにはどうすればよいですか?

  20. 20

    kubeadmを使用してkubernetesクラスターを作成するにはどうすればよいですか?

  21. 21

    クラス内でデコレータを作成するにはどうすればよいですか?

  22. 22

    SASL対応のZookeeperでKafkaトピックを作成するにはどうすればよいですか?

  23. 23

    MySQLコネクタをUWPC#アプリに追加するにはどうすればよいですか?

  24. 24

    このジェネレーターループを作成するにはどうすればよいですか?

  25. 25

    Javaのmongoコネクタからxmlを返すにはどうすればよいですか?

  26. 26

    Pythonでネストされたタプルを含むタプルのコピーを作成するにはどうすればよいですか?

  27. 27

    JDBCソースコネクタ(kafka)のキーを設定するにはどうすればよいですか?

  28. 28

    特定のSynchronizationContextに投稿されるタスクを作成するにはどうすればよいですか?

  29. 29

    ジェネリック関数の値を作成するにはどうすればよいですか?

ホットタグ

アーカイブ