搜索

第 3 章 使用自定义 Metrics Autoscaler Operator 自动扩展 pod

download PDF

3.1. 发行注记

3.1.1. 自定义 Metrics Autoscaler Operator 发行注记

Red Hat OpenShift 的自定义 Metrics Autoscaler Operator 发行注记介绍了新的功能和增强功能、已弃用的功能以及已知的问题。

Custom Metrics Autoscaler Operator 使用基于 Kubernetes 的 Event Driven Autoscaler (KEDA),并基于 OpenShift Container Platform 横向自动扩展(HPA)构建。

注意

Custom Metrics Autoscaler Operator for Red Hat OpenShift 作为可安装的组件提供,它与 OpenShift Container Platform 核心不同。Red Hat OpenShift Container Platform 生命周期政策概述了发行版本兼容性。

3.1.1.1. 支持的版本

下表为每个 OpenShift Container Platform 版本定义自定义 Metrics Autoscaler Operator 版本。

版本OpenShift Container Platform 版本公开发行(GA)

2.12.1

4.15

公开发行(GA)

2.12.1

4.14

公开发行(GA)

2.12.1

4.13

公开发行(GA)

2.12.1

4.12

公开发行(GA)

3.1.1.2. 自定义 Metrics Autoscaler Operator 2.12.1-394 发行注记

此自定义 Metrics Autoscaler Operator 2.12.1-394 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了程序错误修正。以下公告可用于 RHSA-2024:2901

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.1.2.1. 程序错误修复
  • 在以前的版本中,当对无效 JSON 的特定表单进行 unmarshaling 处理时,protojson.Unmarshal 函数会进入一个死循环。当 unmarshaling 到包含 google.protobuf.Any 值或设置了 UnmarshalOptions.DiscardUnknown 选项时,可能会出现此条件。此发行版本解决了这个问题。(OCPBUGS-30305)
  • 在以前的版本中,当解析多部分表单时,可以明确使用 Request.ParseMultipartForm 方法明,或使用 Request.FormValueRequest.PostFormValueRequest.FormFile 方法隐式应用,解析表单的总大小限制不适用于在读单一表单行时消耗的内存。这可能会允许在恶意设计的输入中包含非常长的行,从而导致分配大量内存,这可能会导致内存耗尽。在这个版本中,解析过程可以正确地限制表单行的最大大小。(OCPBUGS-30360)
  • 在以前的版本中,当遵循 HTTP 重定向到不在匹配子域或初始域的完全匹配的域时,HTTP 客户端不会转发敏感标头,如 AuthorizationCookie。例如:从 example.com 到 www.example.com 的重定向会转发 Authorization 标头,但重定向到 www.example.org 不会转发标头。恶意精心设计的 HTTP 重定向可能会导致敏感标头被意外转发。此发行版本解决了这个问题。(OCPBUGS-30365)
  • 在以前的版本中,验证包含带有未知公钥算法的证书的证书链会导致证书验证过程 panic。此条件会影响将 Config.ClientAuth 参数设置为 VerifyClientCertIfGivenRequireAndVerifyClientCert 值的所有加密和 TLS 客户端和服务器。默认行为是 TLS 服务器无法验证客户端证书。此发行版本解决了这个问题。(OCPBUGS-30370)
  • 在以前的版本中,如果从 MarshalJSON 方法返回的错误包含用户控制的数据,数据可能会被用来破坏 HTML 模板软件包的上下文自动转义行为。此条件允许后续操作将意外内容注入模板。此发行版本解决了这个问题。(OCPBUGS-30397)
  • 在以前的版本中,net/httpgolang.org/x/net/http2 Go 软件包没有限制为 HTTP/2 请求读取的 CONTINUATION 帧的数量。此条件允许攻击者为单个请求提供任意的一组大量标头,这些标头将被读取、解码,然后丢弃。这可能导致 CPU 消耗过量。此发行版本解决了这个问题。(OCPBUGS-30894)

3.1.2. Custom Metrics Autoscaler Operator 的过去发行版本发行注记

以下发行注记适用于以前的自定义 Metrics Autoscaler Operator 版本。

有关当前版本,请参阅自定义 Metrics Autoscaler Operator 发行注记

3.1.2.1. 自定义 Metrics Autoscaler Operator 2.12.1-384 发行注记

此自定义 Metrics Autoscaler Operator 2.12.1-384 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。以下公告可用于 RHBA-2024:2043

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.1.1. 程序错误修复
  • 在以前的版本中,custom-metrics-autoscalercustom-metrics-autoscaler-adapter 镜像缺少时区信息。因此,带有 cron 触发器的扩展对象无法正常工作,因为控制器无法找到时区信息。在这个版本中,镜像构建被更新为包含时区信息。因此,包含 cron 触发器的对象现在可以正常工作。(OCPBUGS-32395)

3.1.2.2. 自定义 Metrics Autoscaler Operator 2.12.1-376 发行注记

此自定义 Metrics Autoscaler Operator 2.12.1-376 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了安全更新和程序错误修复。以下公告可用于 RHSA-2024:1812

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.2.1. 程序错误修复
  • 在以前的版本中,如果在扩展对象元数据中指定无效值,如不存在的命名空间,则底层 scaler 客户端无法释放或关闭其客户端描述符,从而导致内存泄漏。在这个版本中,当出现错误时可以正确地关闭底层客户端描述符,从而导致内存泄漏。(OCPBUGS-30145)
  • 在以前的版本中,keda-metrics-apiserver pod 的 ServiceMonitor 自定义资源 (CR) 无法正常工作,因为 CR 引用了 http 的错误指标端口名称。在这个版本中,ServiceMonitor CR 修正了引用 metrics 的正确端口名称。因此,Service Monitor 可以正常工作。(OCPBUGS-25806)

3.1.2.3. 自定义 Metrics Autoscaler Operator 2.11.2-322 发行注记

此自定义 Metrics Autoscaler Operator 2.11.2-322 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了安全更新和程序错误修复。以下公告可用于 RHSA-2023:6144

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.3.1. 程序错误修复
  • 因为自定义 Metrics Autoscaler Operator 版本 3.11.2-311 已被发布,所以在 Operator 部署中不需要卷挂载,所以自定义 Metrics Autoscaler Operator pod 会每 15 分钟重启。在这个版本中,在 Operator 部署中添加了所需的卷挂载。因此,Operator 不再每 15 分钟重启。(OCPBUGS-22361)

3.1.2.4. 自定义 Metrics Autoscaler Operator 2.11.2-311 发行注记

此自定义 Metrics Autoscaler Operator 2.11.2-311 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。自定义 Metrics Autoscaler Operator 2.11.2-311 的组件在 RHBA-2023:5981 中发布。

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.4.1. 新功能及功能增强
3.1.2.4.1.1. 现在支持 Red Hat OpenShift Service on AWS (ROSA) 和 OpenShift Dedicated

自定义 Metrics Autoscaler Operator 2.11.2-311 可以安装在 OpenShift ROSA 和 OpenShift Dedicated 受管集群上。自定义 Metrics Autoscaler Operator 的早期版本只能安装在 openshift-keda 命名空间中。这导致 Operator 无法安装到 OpenShift ROSA 和 OpenShift Dedicated 集群中。此自定义 Metrics Autoscaler 版本允许安装到其他命名空间,如 openshift-operatorskeda,从而可以安装到 ROSA 和 Dedicated 集群中。

3.1.2.4.2. 程序错误修复
  • 在以前的版本中,如果安装并配置 Custom Metrics Autoscaler Operator,但没有使用,OpenShift CLI 会在任何 oc 命令输入后报告 could not get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1 错误。虽然这个消息并没有什么危害,但可能会造成混淆。在这个版本中,Got empty response for: external.metrics…​ 不再会出现。(OCPBUGS-15779)
  • 在以前的版本中,任何注解或标签更改为由自定义 Metrics Autoscaler 管理的对象在修改 Keda Controller 时(例如在配置更改后)会被自定义 Metrics Autoscaler 恢复。这会导致对象中的标签持续更改。自定义 Metrics Autoscaler 现在使用自己的注解来管理标签和注解,注解或标签不再被错误地恢复。(OCPBUGS-15590)

3.1.2.5. 自定义 Metrics Autoscaler Operator 2.10.1-267 发行注记

此自定义 Metrics Autoscaler Operator 2.10.1-267 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。自定义 Metrics Autoscaler Operator 2.10.1-267 组件在 RHBA-2023:4089 中发布。

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.5.1. 程序错误修复
  • 在以前的版本中,custom-metrics-autoscalercustom-metrics-autoscaler-adapter 镜像不包含时区信息。因此,带有 cron 触发器的扩展对象无法正常工作,因为控制器无法找到时区信息。在这个版本中,镜像构建包含时区信息。因此,包含 cron 触发器的对象现在可以正常工作。(OCPBUGS-15264)
  • 在以前的版本中,自定义 Metrics Autoscaler Operator 会尝试拥有所有受管对象,包括其他命名空间中的对象和集群范围的对象。因此,自定义 Metrics Autoscaler Operator 无法创建角色绑定来读取 API 服务器所需的凭证。这会导致 kube-system 命名空间中出现错误。在这个版本中,自定义 Metrics Autoscaler Operator 会跳过将 ownerReference 字段添加到另一个命名空间中的任何对象或任何集群范围的对象。现在,角色绑定会被创建,且没有任何错误。(OCPBUGS-15038)
  • 在以前的版本中,自定义 Metrics Autoscaler Operator 将 ownerReferences 字段添加到 openshift-keda 命名空间中。虽然这不会造成功能问题,但存在此字段可能会给集群管理员造成混淆。在这个版本中,自定义 Metrics Autoscaler Operator 不会将 ownerReference 字段添加到 openshift-keda 命名空间中。因此,openshift-keda 命名空间不再有一个 superfluous ownerReference 字段。(OCPBUGS-15293)
  • 在以前的版本中,如果您使用使用 pod 身份以外的身份验证方法配置的 Prometheus 触发器,并且 podIdentity 参数设置为 none,则触发器将无法扩展。在这个版本中,OpenShift 的自定义 Metrics Autoscaler 可以正确地处理 none pod 身份提供程序类型。因此,使用 pod 身份以外的身份验证方法配置的 Prometheus 触发器,其 podIdentity 参数设置为 none 现在可以正确扩展。(OCPBUGS-15274)

3.1.2.6. 自定义 Metrics Autoscaler Operator 2.10.1 发行注记

此自定义 Metrics Autoscaler Operator 2.10.1 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。自定义 Metrics Autoscaler Operator 2.10.1 的组件在 RHEA-2023:3199 中发布。

重要

在安装自定义 Metrics Autoscaler Operator 的这个版本前,请删除任何以前安装的技术预览版本或社区支持的 KEDA 版本。

3.1.2.6.1. 新功能及功能增强
3.1.2.6.1.1. 自定义 Metrics Autoscaler Operator 正式发布

现在,自定义 Metrics Autoscaler Operator 从自定义 Metrics Autoscaler Operator 版本 2.10.1 开始正式发布。

重要

使用扩展作业进行扩展只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

3.1.2.6.1.2. 性能指标

现在,您可以使用 Prometheus Query Language (PromQL) 查询自定义 Metrics Autoscaler Operator 的指标。

3.1.2.6.1.3. 暂停扩展对象的自定义指标自动扩展

现在,您可以根据需要暂停扩展对象的自动扩展,并在就绪时恢复自动扩展。

3.1.2.6.1.4. 副本回退到扩展的对象

现在,如果扩展对象无法从源获取指标,您可以指定要回退到的副本数。

3.1.2.6.1.5. 为扩展对象自定义 HPA 命名

现在,您可以在扩展的对象中为 pod 横向自动扩展指定自定义名称。

3.1.2.6.1.6. 激活和扩展阈值

因为 pod 横向自动扩展 (HPA) 无法扩展到 0 个副本或从 0 个副本进行扩展,所以在 HPA 执行缩放后,自定义 Metrics Autoscaler Operator 会进行该扩展。现在,您可以根据副本数指定 HPA 接管自动扩展的时间。这可以提高扩展策略的灵活性。

3.1.2.7. 自定义 Metrics Autoscaler Operator 2.8.2-174 发行注记

此自定义 Metrics Autoscaler Operator 2.8.2-174 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。Custom Metrics Autoscaler Operator 2.8.2-174 组件在 RHEA-2023:1683 中发布。

重要

自定义 Metrics Autoscaler Operator 版本 2.8.2-174 是一个技术预览功能。

3.1.2.7.1. 新功能及功能增强
3.1.2.7.1.1. Operator 升级支持

现在,您可以从 Custom Metrics Autoscaler Operator 的早期版本升级。有关升级 Operator 的信息,请参阅"添加资源"中的"删除 Operator 更新频道"。

3.1.2.7.1.2. must-gather 支持

现在,您可以使用 OpenShift Container Platform must-gather 工具收集有关自定义 Metrics Autoscaler Operator 及其组件的数据。目前,使用带有自定义 Metrics Autoscaler 的 must-gather 工具的过程与其他 Operator 不同。如需更多信息,请参阅"添加资源"中的调试数据。

3.1.2.8. 自定义 Metrics Autoscaler Operator 2.8.2 发行注记

此自定义 Metrics Autoscaler Operator 2.8.2 发行版本为在 OpenShift Container Platform 集群中运行的 Operator 提供了新功能和程序错误修复。自定义 Metrics Autoscaler Operator 2.8.2 组件在 RHSA-2023:1042 中发布。

重要

自定义 Metrics Autoscaler Operator 版本 2.8.2 是一个技术预览功能。

3.1.2.8.1. 新功能及功能增强
3.1.2.8.1.1. 审计日志记录

现在,您可以收集并查看自定义 Metrics Autoscaler Operator 及其相关组件的审计日志。审计日志是安全相关的按时间排序的记录,记录各个用户、管理员或其他系统组件影响系统的一系列活动。

3.1.2.8.1.2. 基于 Apache Kafka 指标扩展应用程序

现在,您可以使用 KEDA Apache kafka 触发器/scaler 根据 Apache Kafka 主题扩展部署。

3.1.2.8.1.3. 根据 CPU 指标扩展应用程序

现在,您可以使用 KEDA CPU 触发器/scaler 根据 CPU 指标扩展部署。

3.1.2.8.1.4. 根据内存指标扩展应用程序

现在,您可以使用 KEDA 内存触发器/scaler 根据内存指标扩展部署。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.