第 11 章 3scale WebAssembly 模块
threescale-wasm-auth
模块是一个 WebAssembly 模块,插入到 Service Mesh 中,它允许使用 Red Hat 3scale API Management 授权传入的请求。它扩展了 Service Mesh 功能,并提供完整的 API 管理功能,包括微服务的身份验证、分析和计费。
Service Mesh 侧重于基础架构层,它带有流量管理、服务发现、负载均衡和安全性等功能。API 管理侧重于创建、发布和管理 API。
Service Mesh 和 3scale 可以改进微服务和 API 的可靠性、可扩展性、安全性和性能。
threescale-wasm-auth
模块在 3scale 2.11 或更高版本与 Red Hat OpenShift Service Mesh 2.1.0 或更高版本集成上运行。
前提条件
- 具有管理员特权的 3scale 帐户。
Service Mesh 2.4 或更高版本安装。
- Service Mesh 2.3 当前无法正常工作,因为 OSSM-3647。
- 对于 Service Mesh 2.1 和 2.2,请参阅使用 3scale WebAssembly 模块。
在 Service Mesh 中运行的应用程序。
- 使用 Bookinfo 示例应用程序。
OpenShift Container Platform (OCP) 上的集群管理员可配置 threescale-wasm-auth
模块,以通过 WasmPlugin 自定义资源授权 HTTP 请求到 3scale。然后,Service Mesh 会将模块注入 sidecar,公开主机服务,并允许您使用模块处理代理请求。
从 3scale 的角度来看,threescale-wasm-auth
模块充当一个网关,并在与 Service Mesh 集成时替换 APIcast。这意味着无法使用一些 APIcast 功能,特别是策略和暂存和生产环境。
11.1. 将 Bookinfo 应用程序部署到 Service Mesh
您可以使用 Service Mesh 中的示例 Bookinfo 应用程序来演示使用 3scale 配置 Service Mesh 的步骤。
流程
部署 Bookinfo 应用程序:
- 请参阅 Bookinfo 示例应用程序。
验证应用程序是否可用:
$ export GATEWAY_URL=$(oc -n istio-system get route istio-ingressgateway -o jsonpath='{.spec.host}') $ curl -I "http://$GATEWAY_URL/productpage" HTTP/1.1 200 OK