1.20.4. threescale-wasm-auth モジュールの設定
OpenShift Container Platform のクラスター管理者は、threescale-wasm-auth
モジュールを設定し、アプリケーションバイナリーインターフェイス (ABI) を使用して 3scale API Management への HTTP 要求を承認することができます。ABI は、ホストとモジュール間の対話を定義し、ホストサービスを公開し、モジュールを使用してプロキシー要求を処理することができます。
1.20.4.1. Service Mesh の拡張
Service Mesh は カスタムリソース定義 を提供し、ServiceMeshExtension
と呼ばれる Proxy-WASM 拡張をサイドカープロキシーに指定および適用します。Service Mesh は、3scale での HTTP API 管理を必要とするワークロードのセットにこのカスタムリソースを適用します。
WebAssembly 拡張の設定は、現在手動プロセスです。3scale システムからサービスの設定を取得するサポートは、今後のリリースでご利用いただけます。
前提条件
- このモジュールを適用する Service Mesh デプロイメントで Kubernetes ワークロードおよび namespace を特定します。
- 3scale テナントアカウントが必要です。適合するサービスならびに該当するアプリケーションおよびメトリクスが定義された SaaS または オンプレミス型 3scale 2.11 を参照してください。
モジュールを
bookinfo
namespace のproductpage
マイクロサービスに適用する場合は、Bookinfo のサンプルアプリケーション を参照してください。以下の例は、
threescale-wasm-auth
モジュールのカスタムリソースの YAML 形式です。この例では、アップストリームの Maistra バージョンの Service Mesh である ServiceMeshExtension API を参照します。モジュールが適用されるアプリケーションのセットを特定するWorkloadSelector
と合わせて、threescale-wasm-auth
モジュールがデプロイされる namespace を宣言する必要があります。apiVersion: maistra.io/v1 kind: ServiceMeshExtension metadata: name: threescale-wasm-auth namespace: bookinfo 1 spec: workloadSelector: 2 labels: app: productpage config: <yaml_configuration> image: registry.redhat.io/openshift-service-mesh/3scale-auth-wasm-rhel8:0.0.1 phase: PostAuthZ priority: 100
spec.config
フィールドはモジュール設定に依存し、直前の例では入力されません。この例では、<yaml_configuration>
プレースホルダーの値を使用します。このカスタムリソースの例の形式を使用できます。spec.config
フィールドの値はアプリケーションによって異なります。その他のフィールドはすべて、このカスタムリソースの複数のインスタンス間で永続します。以下に例を示します。-
image
: 新しいバージョンのモジュールがデプロイされる場合にのみ変更されます。 -
phase
: このモジュールは、OpenID Connect (OIDC) トークンの検証など、プロキシーがローカルの承認を行った後に呼び出す必要があるため、同じままです。
-
spec.config
および残りのカスタムリソースにモジュール設定を追加したら、oc apply
コマンドでこれを適用します。$ oc apply -f threescale-wasm-auth-bookinfo.yaml