29.2. 検出可能サービスの条件
3scale が OpenShift (OCP) クラスターの API サービスを検出できるためには、その OCP は以下に示す各要素の条件を満たしている必要があります。
Content-Type
ヘッダー
API 仕様の Content-Type
ヘッダーの値は、以下のいずれかでなければなりません。
-
application/swagger+json
-
application/vnd.oai.openapi+json
-
application/json
OpenShift Service Object YAML 定義
OpenShift Service Object YAML 定義には、以下のメタデータが含まれている必要があります。
-
discovery.3scale.net
ラベル (必須): "true" に設定します。検出が必要なすべてのサービスを探すために 3scale がセレクター定義を実行する際に、このラベルが使用されます。 また、以下のアノテーションが含まれている必要があります。
discovery.3scale.net/discovery-version
(オプション): 3scale の検出プロセスのバージョン。discovery.3scale.net/scheme
(必須): サービスをホストする URL のスキーム部分。設定可能な値は "http" および "https" です。discovery.3scale.net/port
(必須): クラスター内のサービスのポート番号。discovery.3scale.net/path
(オプション): サービスをホストする URL の相対ベースパス。パスがルート ("/") の場合には、このアノテーションを省略することができます。discovery.3scale.net/description-path
: サービスの OpenAPI サービス記述ドキュメントへのパス。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者権限を持つ OpenShift ユーザーであれば、OpenShift のコンソールで API サービスの YAML ファイルを表示することができます。
- Applications > Services の順に選択します。
-
サービスを選択し (例:
i-task-api
)、その Details のページを表示します。 - Actions > Edit YAML の順に選択し、YAML ファイルを開きます。
- ファイルの表示を終えたら、Cancel を選択します。
-
ovs-networkpolicy
プラグインを持つクラスター
-
OpenShift と 3scale プロジェクト間のトラフィックを許可する場合、
ovs-networkpolicy
プラグインを持つクラスターには、アプリケーションプロジェクト内で作成された NetworkPolicy オブジェクトが必要です。 - NetworkPolicy オブジェクトの設定の詳細は、ネットワークポリシー を参照してください。