第2章 Kafka Bridge を使用するための 3scale のデプロイメント


3scale を Kafka Bridge と統合するには、Kafka Bridge API を検出するようにデプロイメントを設定する必要があります。

このシナリオでは、Streams for Apache Kafka、Kafka、Kafka Bridge、および 3scale API Management を同じ OpenShift クラスターで実行します。3scale APIcast は、NGINX ベースの API ゲートウェイとして機能します。これにより、HTTP クライアントが Kafka Bridge API サービスに接続できるようになります。

この手順では、3scale Operator を通じて管理される次の 3scale カスタムリソースを使用します。

  • Kafka Bridge OpenAPI 仕様をインポートするための OpenAPI カスタムリソース
  • Kafka Bridge ルーティングポリシーをインポートし、アプリケーションプランとアプリケーションを設定するための Product カスタムリソース
  • プロダクトの APIcast 設定をプロモートするための ProxyConfigPromote カスタムリソース

これらのリソースの作成と管理の詳細は、Red Hat 3Scale ドキュメント の Operator の手順を参照してください。

注記

3scale が Kafka Bridge と同じクラスターにすでにデプロイされている場合は、デプロイ手順をスキップして、既存のデプロイメントを使用してください。

前提条件

3scale をデプロイする場合:

  • Red Hat 3scale API Management でサポートされる設定 を確認する。
  • インストールに必要な cluster-admin アクセス権 (system:admin など) がある。
  • 次の JSON ファイルにアクセスする。

    • Kafka Bridge OpenAPI 仕様 (openapi.json v3)。
    • Kafka Bridge のヘッダー変更およびルーティングポリシー (policies_config.json)。
      JSON ファイルは GitHub で入手できます。

手順

  1. Red Hat 3Scale のドキュメント の説明に従って 3scale API Management をセットアップします。

    1. 3scale Operator を使用して、3scale API Manager と APIcast をインストールします。

      API Manager をデプロイする前に、APIManager カスタムリソースの wildcardDomain プロパティーを OpenShift クラスターのドメインと一致するように更新します。

      ドメインは、3scale 管理ポータルにアクセスするための URL (http[s]://<authentication_token>@3scale-admin.<cluster_domain>) で使用されます。

    2. APIManager カスタムリソースのステータスを確認して、3scale のデプロイメントを確認します。
  2. Kafka Bridge を検出する権限を 3scale API Manager に付与します。

    Copy to Clipboard Toggle word wrap
    oc adm policy add-cluster-role-to-user view system:serviceaccount:<my_bridge_namespace>:amp

    このコマンドは、指定した namespace (<my_bridge_namespace>) の Kafka Bridge リソースへの読み取りアクセス (view) を、API Manager (amp) に付与します。

  3. Cluster Operator デプロイメントに 3scale 検出に必要なラベルとアノテーションがあることを確認します。

    Copy to Clipboard Toggle word wrap
    #...
    env:
    - name: STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_LABELS
        value: |
        discovery.3scale.net=true
    - name: STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_ANNOTATIONS
        value: |
        discovery.3scale.net/scheme=http
        discovery.3scale.net/port=8080
        discovery.3scale.net/path=/
        discovery.3scale.net/description-path=/openapi/v3
    #...

    Kafka Bridge で OpenAPI v2 のサポートが非推奨になると、/openapi エンドポイントは OpenAPI v3 を表すようになります。その時点で、/openapi/v3 エンドポイントは削除される予定です。

    必要に応じて、OpenShift コンソールからこれらのプロパティーを更新するか、Cluster OperatorKafka Bridge を再デプロイします。

  4. Red Hat 3Scale のドキュメント の説明に従って、3scale 管理ポータルで OpenShift から Kafka Bridge API サービスをインポートします。
  5. OpenAPI 仕様 (JSON ファイル) に、Kafka Bridge サービスのベース URL を参照する servers プロパティーを追加します。

    Kafka Bridge サービス URL への参照の例

    Copy to Clipboard Toggle word wrap
    {
        "openapi": "3.0.0",
        "info": {
          "title": "Kafka Bridge API Reference",
          "description": "The Kafka Bridge provides a REST API
            for integrating HTTP based client applications with
            a Kafka cluster. You can use the API to create and
            manage consumers and send and receive records over
            HTTP rather than the native Kafka protocol. ",
            "version": "0.1.0"
        },
        "servers": [
          {
            "url": "https://my-bridge-bridge-service.my-project.svc.cluster.local:8080"
          }
        ],
        "paths": {

    servers の URL に以下が含まれていることを確認してください。

    • Kafka Bridge 名 (my-bridge)
    • プロジェクト名 (my-project)
    • Kafka Bridge のポート (8080)
  6. OpenAPI カスタムリソースを作成して、Kafka Bridge OpenAPI 仕様をインポートします。

    OpenAPI カスタムリソースを作成すると、3scale Operator によって、サービス ID を含む 3scale Product カスタムリソースが自動的に作成されます。

  7. Kafka Bridge ルーティングポリシー (policies_config.json) をインポートして、Product カスタムリソースを更新します。
  8. 3scale 管理ポータルから、Kafka Bridge サービスのエンドポイントとポリシーがロードされていることを確認します。
  9. Product カスタムリソースを更新して、アプリケーションプランとアプリケーションを設定します。

    認証用のユーザーキーを取得するにはアプリケーションが必要です。

  10. (実稼働環境の場合) ProxyConfigPromote カスタムリソースを作成して、プロダクトの APIcast 設定をプロモートします。
  11. コンシューマー作成呼び出しとアプリケーション用に生成されたユーザーキーを使用して、APIcast ゲートウェイ経由で Kafka Bridge への API アクセスを確認します。

    以下に例を示します。

    Copy to Clipboard Toggle word wrap
    https//my-project-my-bridge-bridge-service-3scale-apicast-staging.example.com:443/consumers/my-group?user_key=3dfc188650101010ecd7fdc56098ce95

    Kafka Bridge からレスポンスペイロードが返されれば、コンシューマーは正常に作成されています。

    Copy to Clipboard Toggle word wrap
    {
      "instance_id": "consumer1",
      "base uri": "https//my-project-my-bridge-bridge-service-3scale-apicast-staging.example.com:443/consumers/my-group/instances/consumer1"
    }

    ベース URI は、クライアントが後続のリクエストに使用するアドレスです。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.