1.20.4. 配置 threescale-wasm-auth 模块
OpenShift Container Platform 上的集群管理员可以配置 threescale-wasm-auth
模块,通过应用程序二进制接口(ABI)授权 HTTP 请求进行 3scale API 管理。ABI 定义主机和模块之间的交互,公开主机服务,并允许您使用模块来处理代理请求。
1.20.4.1. Service Mesh 扩展
Service Mesh 提供了一个 自定义资源定义,用于为 sidecar 代理(称为 ServiceMeshExtension
)指定并应用 Proxy-WASM 扩展。Service Mesh 将此自定义资源应用到需要使用 3scale 管理 HTTP API 的工作负载集合。
配置 WebAssembly 扩展目前是一个手动过程。以后的发行版本中将提供对 3scale 系统获取服务配置的支持。
先决条件
- 识别要应用此模块的 Service Mesh 部署上的 Kubernetes 工作负载和命名空间。
- 您必须有一个 3scale 租户帐户。请参阅 SaaS 或 3scale 2.11 On-Premises,其中定义了匹配的服务和相关应用程序和指标。
如果您将该模块应用到
bookinfo
命名空间中的productpage
微服务,请参阅 Bookinfo 示例应用程序。以下示例是
threescale-wasm-auth
模块的自定义资源的 YAML 格式。这个示例指的是 Service Mesh 的上游 Maistra 版本 ServiceMeshExtension API。您必须声明部署3scale-wasm-auth
模块的命名空间,以及一个WorkloadSelector
,以标识该模块将应用到的应用程序集: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