検索

3.3. Fuse Online の設定および 3scale での API の検出

download PDF

API プロバイダーインテグレーションを作成する場合、Red Hat 3scale でそのインテグレーションの API の検出を有効することがあります。デフォルトの動作では、API は 3scale の自動検出の対象になりません。

3scale の検出を有効にしている場合には、後で任意で無効にすることができます。

3.3.1. 3scale で API の検出を有効化する Fuse Online の設定

API プロバイダーインテグレーションを作成する場合、Red Hat 3scale でそのインテグレーションの API の検出を有効することがあります。デフォルトの動作では、API は 3scale の自動検出の対象になりません。検出を有効にするには、3scale ユーザーインターフェイスの URL を指定する必要があります。

Fuse Online をインストールする前に 3scale で API の検出を有効にするよう Fuse Online を設定するには、Fuse Online の設定に使用するカスタムリソース属性の説明 を参照してください。

インストール後に syndesis カスタムリソースを更新すると、検出を有効にすることができます。本トピックでは、この手順を説明します。検出を有効にすると、リソースの更新時に接続されている OpenShift プロジェクトのみに適用されます。

3scale サービス検出を有効にすると、以下のようになります。

  • デフォルトの動作として、3scale は API プロバイダーインテグレーションをパブリッシュします。3scale が API プロバイダーインテグレーションをパブリッシュする場合は、以下のとおりです。

    • Fuse Online は、稼働している API プロバイダーインテグレーションの外部 URL を提供しません。
    • API には 3scale からのみアクセスできます。エンドポイントを公開するために 3scale の設定が必要です。詳細は、Red Hat 3scale API ManagementAdmin Portal Guide の Service Discovery を参照してください。
  • API プロバイダーインテグレーションの作成者は、そのインテグレーションの 3scale 検出を無効にすることができます。つまり、各 API プロバイダーインテグレーション作成者は、そのインテグレーションの API を検出可能にするかどうかを選択できます。

前提条件

  • オンサイトで OCP に Fuse Online がインストールされている必要があります。
  • oc クライアントツールがインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている必要があります。
  • API の検出を有効にするプロジェクトで Fuse Online をインストールするパーミッションが必要です。
  • OpenShift クラスター上の 3scale プロジェクトの名前を把握している必要があります。

手順

  1. Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。

    oc login -u developer -p developer

  2. Fuse Online が稼働している OpenShift プロジェクトに切り替えます。このプロジェクトのみで検出を有効にします。以下に例を示します。

    oc project my-fuse-online-project

  3. 3scale プロジェクトによる Fuse Online インテグレーションの表示を可能にするパーミッションを追加します。

    oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp

    たとえば、OpenShift の 3scale プロジェクトの名前が my3scale が場合は、次のようになります。

    oc adm policy add-cluster-role-to-user view system:serviceaccount:my3scale:amp

  4. syndesis カスタムリソースを編集します。

    1. 以下のコマンドを実行します。通常、エディターでリソースが開かれます。

      oc edit syndesis

    2. 3scale ユーザーインターフェイスの URL に managementUrlFor3scale を設定し、リソースを編集します。結果は以下のようになります。

      spec:
        components:
          server:
            features:
              managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
    3. リソースを保存します。
  5. 任意手順:切り替え先のプロジェクトで検出が有効になっていることを確認するには、以下のコマンドを実行します。

    oc describe dc/syndesis-server

    検出が有効な場合、OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 環境変数がカスタムリソースで指定した URL に設定されていることがこのコマンドで出力されます。

結果

syndesis カスタムリソースに対するこの変更により、Fuse Online のインストールを担う syndesis-operatorsyndesis-server を再デプロイするようトリガーされます。切り替え先の OpenShift プロジェクトでは、新しいデフォルト動作として API が 3scale で検出の対象となります。

syndesis-server DeploymentConfig オブジェクトを編集して OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 環境変数を設定しないでください。syndesis-operator により変更が元に戻るため、これは動作しません。syndesis-operator は、常に syndesis カスタムリソースのみに従って Fuse Online がデプロイされるようにします。

3.3.2. 3scale で API の検出を無効化する Fuse Online の設定

API の 3scale 検出を有効化する Fuse Online の設定 で説明されている手順に従っている場合、各 API プロバイダーインテグレーションの作成者は、そのインテグレーションの API が検出可能かどうかを選択できます。場合によっては、インテグレーション API が 3scale では検出できないデフォルトの動作を再設定する必要になることがあります。たとえば、Fuse Online で API プロバイダーを編集およびテストする場合などです。このような場合、managementUrlFor3scale キーと値を指定する行がコメントアウトされるよう Fuse Online の syndesis カスタムリソースを更新します。これにより、3scale による検出が無効になります。その後、検出可能な API でパブリッシュされた API プロバイダーインテグレーションを再パブリッシュします。

前提条件

  • オンサイトで OCP に Fuse Online がインストールされている必要があります。
  • 検出を無効にするプロジェクトで Fuse Online をインストールするパーミッションが必要です。
  • oc クライアントツールがインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている必要があります。
  • 3scale 検出は、API の 3scale 検出を有効化する Fuse Online の設定 で説明されているように OpenShift プロジェクトで有効にされている必要があります

手順

  1. Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。

    oc login -u developer -p developer

  2. 3scale の検出が有効になっている OpenShift プロジェクトに切り替えます。以下に例を示します。

    oc project my-fuse-online-project

  3. syndesis カスタムリソースを編集します。

    1. 以下のコマンドを実行します。通常、エディターでリソースが開かれます。

      oc edit syndesis

    2. managementUrlFor3scale キーおよび値を指定する行の最初にハッシュ記号 (#) を挿入して、リソースを編集します。これにより、行がコメントになり、検出が無効になります。結果は以下のようになります。

      spec:
        components:
          server:
            features:
            #  managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
    3. リソースを保存します。

      これにより、syndesis カスタムリソースが更新されます。更新により、OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 環境変数が削除されます。syndesis カスタムリソースに対するこの変更により、Fuse Online のインストールを担う syndesis-operatorsyndesis-server を再デプロイするようトリガーされます。新しいデフォルト動作では、API が 3scale で検出の対象ではなくなります。

    syndesis-server DeploymentConfig オブジェクトを編集して OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 環境変数を設定を削除しないでください。syndesis-operator により変更が元に戻るため、これは動作しません。syndesis-operator は、常に syndesis カスタムリソースのみに従って Fuse Online がデプロイされるようにします。

  4. 先ほど検出を無効化したプロジェクトで作成された API プロバイダーインテグレーションで、検出が有効化されていたものがあれば、そのインテグレーションを再パブリッシュします。

    言い換えると、API プロバイダーインテグレーションが作成されたプロジェクトの検出が有効であるときに、そのインテグレーションの API の検出を無効にした場合は、この API プロバイダーインテグレーションを再パブリッシュする必要はありません。

結果

関連する OpenShift プロジェクトで作成された API プロバイダーインテグレーションの API が 3scale で検出できなくなります。

Fuse Online が関連するプロジェクトにある API プロバイダーインテグレーションをパブリッシュ (または再パブリッシュ) する場合、Fuse Online は API プロバイダーインテグレーションの操作を呼び出すための外部 URL を提供します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.