1.20.6. 3scale WebAssembly 模块配置

ServiceMeshExtension 自定义资源规格提供了 Proxy-WASM 模块从中读取的配置。

该 spec 嵌入主机中,并由 Proxy-WASM 模块读取。通常,配置采用要解析的模块的 JSON 文件格式,但 ServiceMeshExtension 资源可以将 spec 值解释为 YAML,并将其转换为 JSON 以供模块使用。

如果您在独立模式中使用 Proxy-WASM 模块,则必须使用 JSON 格式编写配置。使用 JSON 格式意味着在 host 配置文件中根据需要使用转义和引用,如 Envoy。当您将 WebAssembly 模块与 ServiceMeshExtension 资源搭配使用时,配置采用 YAML 格式。在这种情况下,无效的配置会强制模块根据其 JSON 表示将诊断显示到 sidecar 的日志记录流。

重要

EnvoyFilter 自定义资源不是受支持的 API,虽然可在 3scale Istio 适配器或 Service Mesh 版本中使用。不建议使用 EnvoyFilter 自定义资源。使用 ServiceMeshExtension API 而不是 EnvoyFilter 自定义资源。如果需要使用 EnvoyFilter 自定义资源,则必须以 JSON 格式指定 spec。

1.20.6.1. 配置 3scale WebAssembly 模块

3scale WebAssembly 模块配置的架构取决于 3scale 帐户和授权服务,以及要处理的服务列表。

先决条件

在所有情形中,先决条件都是一组最低必填字段:

  • 对于 3scale 帐户和授权服务:backend-listener URL。
  • 要处理的服务列表:服务 ID 和至少一个凭据查找方法以及查找方法。
  • 您将找到处理 userkey、以及带有 appkeyappid,以及 OpenID Connect(OIDC)模式的示例。
  • WebAssembly 模块使用您在静态配置中指定的设置。例如,如果您向模块中添加映射规则配置,它将始终适用,即使 3scale 管理门户没有这样的映射规则。ServiceMeshExtension 资源的其余部分围绕 spec.config YAML 条目存在。