2.3. 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 をインストールするパーミッションが必要です。
手順
Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。
oc login -u developer -p developer
Fuse Online が稼働している OpenShift プロジェクトに切り替えます。このプロジェクトのみで検出を有効にします。以下に例を示します。
oc project my-fuse-online-project
syndesis
カスタムリソースを編集します。以下のコマンドを実行します。通常、エディターでリソースが開かれます。
oc edit syndesis
3scale ユーザーインターフェイスの URL に
managementUrlFor3scale
を設定し、リソースを編集します。結果は以下のようになります。spec: components: server: features: managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
- リソースを保存します。
任意手順:切り替え先のプロジェクトで検出が有効になっていることを確認するには、以下のコマンドを実行します。
oc describe dc/syndesis-server
検出が有効な場合、
OPENSHIFT_MANAGEMENT_URL_FOR3SCALE
環境変数がカスタムリソースで指定した URL に設定されていることがこのコマンドで出力されます。
結果
syndesis
カスタムリソースに対するこの変更により、Fuse Online のインストールを担う syndesis-operator
が syndesis-server
を再デプロイするようトリガーされます。切り替え先の OpenShift プロジェクトでは、新しいデフォルト動作として API が 3scale で検出の対象となります。
syndesis-server DeploymentConfig
オブジェクトを編集して OPENSHIFT_MANAGEMENT_URL_FOR3SCALE
環境変数を設定しないでください。syndesis-operator
により変更が元に戻るため、これは動作しません。syndesis-operator
は、常に syndesis
カスタムリソースのみに従って Fuse Online がデプロイされるようにします。