Red Hat 3scale API Management 2.11 On-premises 发行注记

Red Hat 3scale API Management 2.11

用于 Red Hat 3scale API Management 2.11 的文档

摘要

本文档告知用户最新和技术预览功能,以及 Red Hat 3scale API 管理 2.11 中解决的问题、相关文档和已知问题

前言

本文档适用于 Red Hat 3scale API Management 2.11 和相关补丁发行版本。

第 1 章 Red Hat 3scale API Management 2.11.2 - 补丁版本

本文档适用于 Red Hat 3scale API Management 2.11.2 内部。

1.1. 已解决的问题

Red Hat 3scale API Management 2.11.2 解决了以下问题:

  • 无法构建 oracle 镜像(JIRA8096)。

第 2 章 Red Hat 3scale API Management 2.11.1 - 补丁版本

本文档适用于 Red Hat 3scale API Management 2.11.1 On-premises。

2.1. 新功能

Red Hat 3scale API Management 2.11.1 提供以下新功能:

  • 支持 IBM Power 系统上的 Red Hat 3scale API Management。如需了解更多详细信息,请参阅 IBM Power 系统的支持
  • APIcast operator 通过自定义资源定义(Jira 7573)处理代理环境变量。
  • 支持为自定义策略添加外部 Lua 依赖项( Jira 7488)。
  • Admin Portal 界面的改进:

2.2. 支持 IBM Power 系统

以下是 IBM Power 系统支持的功能:

  • operatorHub 的 3scale 部署
  • 所有通用基础镜像(UBI)7 和 UBI 8 镜像
  • OpenShift Container Platform(OCP)v4.9 上的自我管理 APIcast operator
  • 为 APIcast v3.11 在 OCP 上自我管理 APIcast
  • toolbox 镜像
  • Red Hat Single Sign-On(RH SSO)7.4

IBM Power 系统不支持这些功能:

  • RHEL 7 和 RHEL 8 上的 Docker 上的自我管理 APIcast
  • 外部 MSQL 5.7
  • 外部 PostgreSQL 10.x
  • RH SSO 7.5
  • Redis HA
  • S3 API 兼容文件存储 - Minio
  • 断开连接(air-gapped)OCP 环境

2.3. 已解决的问题

Red Hat 3scale API Management 2.11.1 解决了以下问题:

  • 在 Developer Portal 中,经过外部单点登录系统验证的用户的登陆界面被禁用(Jira 7633)。
  • 通过帐户管理 API 检索 policy_config 信息时错误的格式(JIRA7605)。
  • Operator pod 无法通过代理连接到外部 3scale 环境( JIRA7761)。
  • 问题防止直接监控 3scale 和 APIcast 运算符( JIRA7644JIRA 7731)。

2.4. 已知问题

  • Oracle 客户端库集成 ppc64le 需要临时解决方案(JIRA 7953)。

2.5. 文档

升级指南

第 3 章 Red Hat 3scale API Management 2.11

本文档旨在与红帽 3scale API 管理 2.11 内部部署。

3.1. 3scale 和 OpenShift Container Platform 之间的兼容性

3scale 2.11 包含相应的更新,使其能够与 OpenShift Container Platform(OCP)4.9 配合工作。如果您计划升级到 OCP 4.9,则必须将 3scale 升级到 2.11 版本,然后才能将 OCP 升级到 4.9。3scale 的早期版本不支持 OCP 4.9。请参阅 迁移 3scale

如果使用 OCP 4.9,您可以只安装并运行 2.11 版本 3scale。

3.2. 新功能

Red Hat 3scale API Management 2.11 提供以下新功能:

  • 3scale toolbox 命令行界面(CLI)命令:

  • 使用 Braintree 的 API 供应商现在可以打开或关闭 3DS( JIRA 6860)。请参考将 Braintree 配置为信用卡网关
  • 支持 Redis 6 作为外部数据库( JIRA 6492)。
  • 现在可配置用户可登录 3scale(会话长度)的时间长度( JIRA 693JIRA 7143)。
  • 现在,可以使用 3scale API 设置字段定义(JIRA 4082)。
  • API 网关策略:

    • 用于将上游响应代码映射到您指定的 HTTP 状态代码(JIRA 6255)。请参阅 HTTP 响应代码覆盖
    • 要跳过指定标头的 NGINX 验证,并选择性地将这些标头保存在发送到上游 API 的请求中(JIRA 6704)。请参阅 NGINX Filters
  • 根据子路径、后端或其他条件( JIRA 6552)来设置 维护模式策略 (downtime)。
  • 如果策略链中未执行策略,则接受/拒绝请求的选项(JIRA 6705)。
  • CORS 策略中的可配置 Access-Control-Max-Age 标头(JIRA 6556)。请参阅 CORS 请求处理
  • APIcast 配置增强:

    • 配置 proxy_cache_convert_head 的功能,以确定 HEAD 请求是否在上游发送请求前转换为 GET 请求( JIRA 7016)。
    • 在 3scale 运算符上配置 APICAST_LOG_LEVEL 环境变量( JIRA 6452)。
    • APIcast 环境变量现在由 APIcast 操作器( JIRA 5496)的自定义资源定义(CRD)字段公开。
    • TLS 现在在带有 APIcast operator 的 pod 级别启用(JIRA 5499)。
    • 允许将自定义策略注入到 APIcast 运算符( JIRA 7031)。
    • 允许将自定义环境注入到 APIcast 运算符( JIRA 7033)。
    • 能够在 APIcast operator 中配置扩展指标(JIRA 7272)。
  • 用于禁用 Prometheus 规则部署的新选项( JIRA 7137)。
  • 改进了 3scale 部署状态报告(JIRA 4753)。
  • 后端扩展,用于列出响应 XML 中的应用程序密钥(JIRA 7207)。
  • 通过 3scale operator 配置 Jaeger 和 OpenTracing 环境变量(JIRA 7267)。
  • 3scale 客户体验改进

    • 改进了应用程序计划索引页面中的应用计划显示(JIRA 6875)。
    • 改进了用户界面(UI),用于选择默认应用程序计划(JIRA 6868)。
    • 续订了用于创建应用程序的 UI(JIRA 6876,JIRA 6878,JIRA 6879)。
    • 改进了产品概览页面中的后端列表( JIRA 6866)。
    • 改进了后端概览页面中的产品列表( JIRA 6877)。
    • 改进了创建后端映射规则的 UI(JIRA 6873)。

3.3. 技术预览功能

重要

技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/

Red Hat 3scale API Management 2.11 为应用程序功能提供 3scale operator 作为一个技术预览功能。3scale 操作器支持使用自定义资源(CR)定义 3scale 租户、API、应用程序计划、限值、指标和其他对象,以便在 3scale 安装中使用(JIRA 3486)。请参阅使用 3scale 操作器配置和部署 3scale

3scale operator 应用程序功能在 3scale 2.11 中添加了:

  • 当删除后端指标时,产品 CR 协调(JIRA 5534)。
  • 用于管理 3scale 开发人员帐户的自定义资源定义(JIRA 6501)。
  • 用于管理与开发人员帐户关联的 3scale 开发人员(JIRA 6611)的自定义资源定义。
  • 使用 ActiveDoc CR 管理 3scale ActiveDocs(JIRA 6584)。
  • 使用 CustomPolicyDefinition CR 管理自定义策略定义(JIRA 6585)。
  • 使用 OpenAPI CR 管理 OpenAPI 文档(JIRA 4712)。
  • Product CR 现在可以指定 OpenID Connect 身份验证(JIRA 5537)。请参阅定义使用 OpenID Connect 的产品身份验证
  • Product CR 现在可以指定自定义网关响应和错误消息(JIRA 5536)。
  • Product CR 现在支持管理策略链(JIRA 6235)。

3scale 2.11.1 中的 FULLY SUPPORTED另一个技术预览功能是添加外部依赖项并在自定义策略中使用它们(JIRA 7488)。

3.4. 已解决的问题

Red Hat 3scale API Management 2.11 解决了以下问题:

  • 3scale Developer Portal 中不会出现 Braintree 错误(JIRA 4963)。
  • 修正了开发人员门户的 Github SSO 集成(JIRA 4441)。
  • 系统 Grafana Dashboards heatmap 负值(JIRA 6403)。
  • 在这些项目被索引到下一日前,搜索将不适用于新创建的服务和后端 (Jira 6205)。
  • 产品设置的更改不能提升到 staging(JIRA 6468)。
  • 产品和后端的分页会显示所有页面,即便是过滤时(JIRA 6385)。
  • 作为 backend_rewrite_storage 任务的一部分,后端 API 指标未同步到后端(JIRA 6491)。
  • 无法使用 APIcast operator(JIRA 6476)来设置 APIcast pod 时区。
  • 当使用 SealedSecrets 时,通过 operator 部署 APIManager 会失败(JIRA 6635)。
  • APIcast 不剥离 HTTP/HTTPS 请求的标准端口(JIRA 2235)。
  • 通过使用模板进行部署时 APIcast production pod 会失败(JIRA 5913)。
  • APIcast 报告 OpenResty 发行候选版本(JIRA 6963)。
  • IP 检查策略的某些调用的内部错误(JIRA 7076)。
  • TLS 终止策略屏幕显示给定选择的选项错误(JIRA 6390)。
  • 使用有效负载限制策略时的 Content-Length 标头(JIRA 6736)。
  • 在 toolbox 容器镜像中导入 OpenAPI 失败(JIRA 6574)。
  • 从 toolbox CLI 复制产品时,复制的方法会丢失其描述(JIRA 6764)。
  • toolbox 在重新导入 OpenAPI 规格时失败(JIRA 6906)。
  • toolbox 无法复制具有 500 多个后端的产品(JIRA 5224)。
  • 避免创建包含 "0"(零)值的统计数据键(JIRA 6652)。
  • 修复后端组件中引发的异常问题(JIRA 6783)。
  • 新帐户表单中显示的空闪存错误消息(JIRA 6633)。
  • 抑制 APIcast 启动时的警告消息(JIRA 5816)。
  • 如果使用预先存在的持久性卷时,Operator 备份无法正常工作(JIRA 5677)。
  • HEAD 请求转换为 GET 请求(JIRA 7023)。
  • 修复用户登录管理门户的错误消息(JIRA 6321)。
  • 上游无法在 APIcast 日志中为空错误(JIRA 5225)。
  • APIcast 会在启动时记录不必要的警告消息(JIRA 5816)。
  • 通过使用 APICAST_SERVICES_FILTER_BY_URL 时,APIcast 需要很长时间才能启动 (Jira 6139)。
  • APIcast 会记录私有 API URL 而不是公共 URL(JIRA 6193)。
  • liquid Context Debug 策略无法使用 APIaaP(JIRA 6312)。
  • JWT 声明检查策略无法用于 APIaaP 后端(JIRA 6410)。
  • 在 APIcast 策略之前添加 APIaaP 路由策略(JIRA 6428)。
  • APIcast 从请求中删除 If-MatchIf-None-Match 标头(JIRA 6704)。
  • 当只设置 staging-public-base-url 时,使用 3scale toolbox 导入 OAS Spec 会失败 (Jira 6884)。
  • first_trafficfirst_daily_traffic 事件没有更新(JIRA 7227)。
  • 当使用多个证书时,在 APIcast 和后端 API 之间上游 Mutual TLS(mTLS)会失败 (Jira 7363)。
  • 使用 Operator 部署的 APIManager 没有获取最新的可用镜像(JIRA 7435)。

3.5. 已知问题

红帽 3scale API 管理 2.11 中已知的问题:

  • 带有 Prometheus 和 Grafana 的 3scale 监控,在显示值时执行不准确(JIRA 6446)。
  • 如果您按照类名称搜索,sphinx 搜索返回所有记录(JIRA 6405)。
  • 如果您还添加了内容缓存策略,NGINX Filters 策略将无效。默认行为是禁用内容缓存。如果启用内容缓存,NGINX 在无法验证请求标头时,即使添加了 NGINX Filters 策略时也会返回 412 响应代码(Jira 7514)。
  • 3scale 中的用户名必须为 40 个字符或更少。当用户名超过 40 个字符时,3scale 通常截断它。当您进行以下任一操作时请考虑此情况:

    • 创建开发人员帐户。
    • 创建一个提供程序帐户作为主帐户。
    • 将用户作为提供程序或主控机添加到提供程序帐户。
    • 将用户添加到开发人员门户或管理门户中的开发人员帐户。

    在使用红帽单点登录验证对管理门户或开发人员门户的访问权限时,用户名必须是 40 个字符或更少。

3.6. 文档

安全更新

升级指南

  • 在以下部署中检查将 3scale 安装从 2.10 升级到 2.11 的步骤:

3.7. 3scale 中的更改

本节列出了当前和将来的 3scale 更改。

3.7.1. 已更改的功能

  • 内部 Redis 数据库已从 3.2 版本升级到版本 5.x

3.7.2. 已弃用的功能

  • 对在 RHEL7 和 Docker 中作为容器运行的 APIcast 部署的支持已弃用。在以后的发行版本中,3scale 将只支持 RHEL8。如果您作为容器运行 APIcast 自我管理,请转到 RHEL8 和 Podman。

3.7.3. 删除的功能

  • Redis 3.2 不再被支持。

3.7.4. 将来的更改

  • 使用 Proxy Update 时,它会使用更新的设置为暂存环境创建一个新的 APIcast 配置版本。预计在将来的版本中不会发生这种情况。为此,客户需要使用新的 Proxy Config Promote 端点。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看我们的 CTO Chris Wright 信息