第5章 Kafka に対する Camel K の認証


Apache Kafka に対して Camel K を認証できます。

次の例は、Kafka トピックを設定し、それを単純なプロデューサー/コンシューマーパターンのインテグレーションで使用する方法を示しています。

5.1. Kafka の設定

Kafka をセットアップするには、次のことを行う必要があります。

  1. 必要な OpenShift オペレーターのインストール
  2. Kafka インスタンスの作成
  3. Kafka トピックの作成

以下に示す Red Hat 製品を使用して、Kafka をセットアップします。

  • Red Hat Advanced Message Queuing (AMQ) ストリーム: 自己管理の Apache Kafka オファリング。AMQ Streams はオープンソースの Strimzi をベースとしており、Red Hat Integration の一部として組み込まれています。AMQ Streams は、パブリッシュ/サブスクライブメッセージングブローカーが含まれる Apache Kafka をベースとした分散型でスケーラブルなストリーミングプラットフォームです。Kafka Connect は、Kafka ベースのシステムを外部システムと統合するフレームワークを提供します。Kafka Connect を使用すると、外部システムと Kafka ブローカーとの間で双方向にデータをストリーミングするようにソースおよびシンクコネクターを設定できます。

5.1.1. AMQ Streams を使用した Kafka の設定

AMQ Streams は、OpenShift クラスターで Apache Kafka を実行するプロセスを簡素化します。

5.1.1.1. AMQ Streams の OpenShift クラスターの準備

Camel K または Kamelets および Red Hat AMQ Streams を使用するには、以下の Operator およびツールをインストールする必要があります。

  • Red Hat Integration - AMQ Streams Operator - OpenShift Cluster インスタンスと AMQ Streams for Apache Kafka インスタンスの間の通信を管理します。
  • Red Hat Integration - Camel K Operator: Camel K (OpenShift のクラウドでネイティブに実行される軽量なインテグレーションフレームワーク) をインストールし、管理します。
  • Camel K CLI ツール: すべての Camel K 機能にアクセスできます。

前提条件

  • Apache Kafka の概念を理解している。
  • 適切なアクセスレベルで OpenShift 4.6 (またはそれ以降の) クラスターにアクセスできること。この場合、プロジェクトの作成および Operator のインストールができること。また、OpenShift および Camel K CLI をローカルシステムにインストールできること。
  • コマンドラインで OpenShift クラスターと対話できるように OpenShift CLI ツール (oc) をインストールしていること。

手順

AMQ Streams を使用して Kafka を設定するには、以下を行います。

  1. OpenShift クラスターの Web コンソールにログインします。
  2. インテグレーションを作成する予定のプロジェクト (例: my-camel-k-kafka) を作成または開きます。
  3. Camel K のインストール の説明に従って、Camel K Operator および Camel K CLI をインストールします。
  4. AMQ Streams Operator をインストールします。

    1. 任意のプロジェクトから Operators > OperatorHub を選択します。
    2. Filter by Keyword フィールドに AMQ Streams を入力します。
    3. Red Hat Integration - AMQ Streams カードをクリックしてから Install をクリックします。

      Install Operator ページが開きます。

    4. デフォルトを受け入れ、Install をクリックします。
  5. Operators > Installed Operators を選択し、Camel K および AMQ Streams Operator がインストールされていることを確認します。

5.1.1.2. AMQ Streams を使用した Kafka トピックの設定

Kafka トピックは、Kafka インスタンスのデータの保存先を提供します。データを送信する前に、Kafka トピックを設定する必要があります。

前提条件

  • OpenShift クラスターにアクセスできる。
  • OpenShift クラスターの準備 の説明どおりに、Red Hat Integration - Camel K Operator および Red Hat Integration - AMQ Streams Operator がインストールされている。
  • OpenShift CLI (oc) および Camel K CLI (kamel) をインストールしている。

手順

AMQ Streams を使用して Kafka トピックを設定するには、以下を行います。

  1. OpenShift クラスターの Web コンソールにログインします。
  2. Projects を選択してから、Red Hat Integration - AMQ Streams Operator をインストールしたプロジェクトをクリックします。たとえば、my-camel-k-kafka プロジェクトをクリックします。
  3. Operators > Installed Operators の順に選択し、Red Hat Integration - AMQ Streams をクリックします。
  4. Kafka クラスターを作成します。

    1. Kafka で、Create instance をクリックします。
    2. kafka-test などクラスターの名前を入力します。
    3. その他のデフォルトを受け入れ、Create をクリックします。

      Kafka インスタンスを作成するプロセスの完了に数分かかる場合があります。

      ステータスが ready になったら、次のステップに進みます。

  5. Kafka トピックを作成します。

    1. Operators > Installed Operators の順に選択し、Red Hat Integration - AMQ Streams をクリックします。
    2. Kafka TopicCreate Kafka Topic をクリックします。
    3. トピックの名前を入力します (例: test-topic)。
    4. その他のデフォルトを受け入れ、Create をクリックします。

5.1.2. SASL/Plain 認証を使用したシークレットの作成

取得したクレデンシャル (Kafka ブートストラップ URL、サービスアカウント ID およびサービスアカウントのシークレット) を使用してシークレットを作成できます。

手順

  1. application.properties ファイルを編集し、Kafka 認証情報を追加します。

    application.properties ファイル

    camel.component.kafka.brokers = <YOUR-KAFKA-BOOTSTRAP-URL-HERE>
    camel.component.kafka.security-protocol = SASL_SSL
    camel.component.kafka.sasl-mechanism = PLAIN
    camel.component.kafka.sasl-jaas-config=org.apache.kafka.common.security.plain.PlainLoginModule required username='<YOUR-SERVICE-ACCOUNT-ID-HERE>' password='<YOUR-SERVICE-ACCOUNT-SECRET-HERE>';
    consumer.topic=<TOPIC-NAME>
    producer.topic=<TOPIC-NAME>
    Copy to Clipboard Toggle word wrap

  2. 以下のコマンドを実行して、application.properties ファイルに機密プロパティーが含まれるシークレットを作成します。

    oc create secret generic kafka-props --from-file application.properties
    Copy to Clipboard Toggle word wrap

    Camel K インテグレーションの実行時に、このシークレットを使用します。

5.1.3. SASL/OAUTHBearer 認証を使用したシークレットの作成

取得したクレデンシャル (Kafka ブートストラップ URL、サービスアカウント ID およびサービスアカウントのシークレット) を使用してシークレットを作成できます。

手順

  1. application-oauth.properties ファイルを編集し、Kafka 認証情報を追加します。

    application-oauth.properties ファイル

    camel.component.kafka.brokers = <YOUR-KAFKA-BOOTSTRAP-URL-HERE>
    camel.component.kafka.security-protocol = SASL_SSL
    camel.component.kafka.sasl-mechanism = OAUTHBEARER
    camel.component.kafka.sasl-jaas-config = org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required \
    oauth.client.id='<YOUR-SERVICE-ACCOUNT-ID-HERE>' \
    oauth.client.secret='<YOUR-SERVICE-ACCOUNT-SECRET-HERE>' \
    oauth.token.endpoint.uri="https://identity.api.openshift.com/auth/realms/rhoas/protocol/openid-connect/token" ;
    camel.component.kafka.additional-properties[sasl.login.callback.handler.class]=io.strimzi.kafka.oauth.client.JaasClientOauthLoginCallbackHandler
    
    consumer.topic=<TOPIC-NAME>
    producer.topic=<TOPIC-NAME>
    Copy to Clipboard Toggle word wrap

  2. 以下のコマンドを実行して、application.properties ファイルに機密プロパティーが含まれるシークレットを作成します。

    oc create secret generic kafka-props --from-file application-oauth.properties
    Copy to Clipboard Toggle word wrap

    Camel K インテグレーションの実行時に、このシークレットを使用します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat