Menu Close

6.6.11. 在 3scale 产品自定义资源中配置策略链

作为 3scale 管理员,您可以配置 产品 自定义资源以指定您要应用到该 API 产品的策略链。部署 CR 后,3scale 将配置的策略应用到产品的上游公开 API。

步骤

  1. 在新的或已部署的 产品 CR 中,在 policies 对象中配置一个或多个策略。例如:

      apiVersion: capabilities.3scale.net/v1beta1
      kind: Product
      metadata:
        name: product1
      spec:
        name: "OperatedProduct 1"
        policies:
        - configuration:
            http_proxy: http://example.com
            https_proxy: https://example.com
          enabled: true
          name: camel
          version: builtin
        - configuration: {}
          enabled: true
          name: apicast
          version: builtin

    对于每个策略,请指定以下字段:

    • 当策略没有参数时,配置 是一对空的大括号。当策略有参数时,请在此处指定它们。有关您需要指定的任何参数的名称,请参阅 管理 API 网关 APIcast 标准策略中的相关策略 文档。
    • 启用 是打开或关闭策略的布尔值开关。
    • name 标识策略。这是 Product 自定义资源链接的租户范围内的唯一名称。要识别策略名称,请参阅 管理 API 网关 API 网关 APIcast 标准策略中相关策略 的文档。
    • 版本 内置 有标准策略或用于自定义策略的用户定义的字符串。例如,您可以将自定义策略的版本设置为 1.0

      如果 Product CR 没有指定 apicast 策略,Operator 会添加它。

      如果在管理门户中已定义了策略链,您可以运行 3scale toolbox export 命令以 .yaml 格式导出策略链。您可以将 导出 的输出粘贴到 产品 CR 中。例如,如果 api-provider-account-one 是 3scale 供应商帐户的名称,并且 my-api-product-one 是您要导出的策略链的产品名称,您将运行以下命令:

    3scale policies export api-provider-account-one my-api-product-one
  2. 部署包含策略链 的产品 CR。例如,如果您更新了 product1.yaml 文件,请运行以下命令:

    oc create -f product1.yaml

    对于给定示例,输出为:

    product.capabilities.3scale.net/product1 created