第4章 Kafka クラスターにアクセスするための OpenShift ルートの作成


OpenShift の外部で Kafka クラスターにアクセスするための OpenShift ルートを作成します。

この手順では、Kafka クラスターを OpenShift 環境外のクライアントに公開する方法を説明します。Kafka クラスターが公開された後、外部クライアントは Kafka クラスターからのメッセージを生成および消費できます。

OpenShift ルートを作成するために、OpenShift にインストールされている Kafka クラスターの設定に route リスナーが追加されます。

警告

OpenShift Route アドレスは、Kafka クラスターの名前、リスナーの名前、および作成される namespace の名前で設定されます。たとえば、my-cluster-kafka-listener1-bootstrap-amq-streams-kafka (<cluster_name>-kafka-<listener_name>-bootstrap-<namespace>) です。アドレスの全体の長さが上限の 63 文字を超えないように注意してください。

前提条件

  • OpenShift で Kafka クラスターを作成 している。
  • 証明書を管理するには、OpenJDK keytool が必要である。
  • (オプション) OpenShift oc CLI ツールを使用していくつかのステップを実行できる。

手順

  1. Web コンソールで Operator > Installed Operator ページに移動し、Streams for Apache Kafka を選択して Operator の詳細を表示します。
  2. Kafka ページを選択して、インストールされている Kafka クラスターを表示します。
  3. 設定している Kafka クラスターの名前をクリックして、その詳細を表示します。

    この例では、my-cluster という名前の Kafka クラスターを使用します。

  4. Kafka クラスター my-clusterYAML ページを選択します。
  5. ルートリスナー設定を追加して、listener1 という名前の OpenShift ルートを作成します。

    リスナー設定は、route タイプに設定する必要があります。Kafka 設定の listeners の下にリスナー設定を追加します。

    外部ルートリスナーの設定

    Copy to Clipboard Toggle word wrap
    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
      namespace: amq-streams-kafka
    spec:
      kafka:
        # ...
        listeners:
          # ...
          - name: listener1
            port: 9094
            type: route
            tls: true
    # ...

    クライアントはデフォルトのルーターポートであるポート 443 に接続しますが、トラフィックは設定するポート (この例では 9094) にルーティングされます。

  6. 更新された設定を保存します。
  7. Kafka クラスター my-clusterResources ページを選択して、クライアントに必要な接続情報を見つけます。

    Resources ページから、Kafka クラスターに接続するために必要なルートリスナーと公開クラスター証明書の詳細を確認できます。

  8. Kafka クラスター用に作成された my-cluster-kafka-listener1-bootstrap ルートの名前をクリックして、ルートの詳細を表示します。
  9. ホスト名をメモします。

    ホスト名は、Kafka クラスターに接続するためのブートストラップアドレスとして、Kafka クライアントのポート 443 で指定されます。

    Networking > Routes に移動し、amq-streams-kafka プロジェクトを選択して、namespace に作成されたルートを表示することにより、ブートストラップアドレスを見つけることもできます。

    または、oc ツールを使用してブートストラップの詳細を抽出できます。

    ブートストラップ情報の抽出

    Copy to Clipboard Toggle word wrap
    oc get routes my-cluster-kafka-listener1-bootstrap -o=jsonpath='{.status.ingress[0].host}{"\n"}'

  10. Resources ページに戻り、my-cluster-cluster-ca-cert の名前をクリックして、Kafka クラスターにアクセスするためのシークレットの詳細を表示します。

    ca.crt 証明書ファイルには、Kafka クラスターの公開証明書が含まれています。

    Kafka ブローカーにアクセスするには証明書が必要です。

  11. ca.crt 公開証明書ファイルのローカルコピーを作成します。

    証明書の詳細をコピーするか、OpenShift oc ツールを使用してそれらを抽出できます。

    公開証明書の抽出

    Copy to Clipboard Toggle word wrap
    oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > ca.crt

  12. keytool を使用して、公開クラスター証明書のローカルトラストストアを作成します。

    ローカルトラストストアの作成

    Copy to Clipboard Toggle word wrap
    keytool -keystore client.truststore.jks -alias CARoot -import -file ca.crt

    プロンプトが表示されたら、トラストストアにアクセスするためのパスワードを作成します。

    トラストストアは、Kafka クラスターへのアクセスを認証するために Kafka クライアントで指定されます。

    メッセージの送受信を開始する準備が整いました。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.