1.11.3. RHSA-2026:3 ⁇ - OpenShift Container Platform 4.22.4 程序错误修复和安全更新
发布日期: 2026 年 7 月 7 日
OpenShift Container Platform 版本 4.22.4 现已正式发布。此更新中包括的修复问题列表记录在 RHSA-2026:3 ⁇ 公告中。此更新中包括的 RPM 软件包由 RHSA-2026:34789 公告提供。
因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。
您可以运行以下命令来查看此发行版本中的容器镜像:
$ oc adm release info 4.22.4 --pullspecs
1.11.3.1. 修复的问题 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 在此次更新之前,管理集群上的 Control Plane Operator 中的 Secrets Store CSI 驱动程序没有足够的基于角色的访问控制 (RBAC) 权限。因此,用户无法在 4.19.19 之后的版本上使用 Secrets Store CSI 驱动程序和 Control Plane Operator 创建托管集群。在这个版本中,Control Plane Operator 会在创建前检查资源类型的可访问性,授予对 Secrets Store CSI 驱动程序的访问权限,并成功创建托管集群。(OCPBUGS-65687)
- 在此次更新之前,有时会发生临时无法将持久性卷附加或分离到节点的情况。因此,Machine API Operator 会错误地将机器标记为永久失败。在这个版本中,Microsoft Azure 的 Machine API 供应商不会错误地将 Azure 虚拟机上任何异步操作的失败解释为置备虚拟机失败。因此,卷附加或卷分离失败不会影响 Machine 对象的状态。(OCPBUGS-86996)
-
在此次更新之前,对
tlsAdherence功能的更改,如""StrictAllComponents"",不会触发 Cluster Baremetal Operator(CBO)重启。因此,Operator 将使用过时的 TLS(传输层安全)配置运行。在这个版本中,controller-runtime-common资源被更新为监视tlsAdherence字段和安全配置集监视器中的 API 服务器自定义资源 (CR) 上的 TLS 安全配置集。因此,对tlsAdherence功能的更改会如预期触发 CBO 重启。(OCPBUGS-87212) - 在此次更新之前,托管集群配置 Operator 会在未自定义的 Kubernetes 集群中崩溃,因为 Operator 会无条件地尝试监视 OpenShift Container Platform Route 资源。在这个版本中,Operator 仅在管理集群中存在资源时才尝试监视资源。因此,Operator 不再会在未自定义的 Kubernetes 集群中崩溃循环。(OCPBUGS-87364)
-
在此次更新之前,
kube-apiserver-to-kubelet客户端签名程序证书每 30 天刷新一次,尽管有效期为 365 天。在这个版本中,刷新间隔被修正为 292 天,即有效期的 80%,这与其他签名程序一致。因此,证书轮转会被阻止,签名程序的行为与预期的配置一致。(OCPBUGS-87844) -
在此次更新之前,如果通过
spec.preprovisioningNetworkDataName参数引用预置备网络数据 Secret 的 BareMetalHost(BMH)在 BMH 完成删除前被删除,则删除该 Secret 可能会报告RegistrationError。因此,在控制器最终强制删除之前,BMH 删除需要几分钟时间完成。在这个版本中,BMO 管理该 Secret 的生命周期的方式与 BMC 凭证 Secret 相同。现在,BMO 在主机活跃时使用终结器保护 Secret,这会防止 Secret 被删除,直到控制器删除终结器为止。因此,在允许删除 Secret 前,BMH 会被成功删除。(OCPBUGS- ⁇ 3) - 在此次更新之前,在使用静态 IP 的 vSphere 安装程序置备的基础架构集群中,control plane 机器集 (CPMS) Operator 在删除 CPMS 时不会将名称服务器复制到 CPMS 中。因此,CPMS Operator 会将当前的 master 识别为无效,并将 master 识别为需要重新创建。在这个版本中,CPMS Operator 逻辑被更新,在集群使用静态 IP 时将名称服务器定义复制到 CPMS 中。因此,在重新创建 CPMS 集群实例时,名称服务器信息会在 CPMS 中配置。(OCPBUGS- ⁇ 8)
-
在此次更新之前,当 generateRelease 使用只包括摘要的
ImageDigestMirrorSet(IDMS)模式时,引用为 tag 和 摘要的镜像(如 nvcr.io/…/container-toolkit:v1.19.1@sha256:…)将被视为只包括标签,且不包括在 IDMS 生成中。因此,这些镜像只出现在ImageTagMirrorSet(ITMS) 模式中。对于依赖 IDMS 进行摘要解析的断开连接的安装,引用为 ITMS 的 Operator 相关镜像的镜像安装可能会失败。在这个版本中,更新了generateImageMirrors对象,以便 IDMS 和 ITMS 中包含标签和摘要引用。因此,标签和摘要镜像会同时写入 IDMS 和 ITMS。(OCPBUGS-8 84.) - 在此次更新之前,Column Management 模式不会显示帮助文本,它告知您只有在选择 All projects 时才会显示 namespace 列。在这个版本中,帮助文本会被正确显示。(OCPBUGS-90110)
-
在此次更新之前,Ingress Node Firewall Operator 使用
reflect.DeepEqual参数进行节点标签比较,这需要完全匹配标签,而不是 Kubernetes 标签选择器语义。因此,不是为节点创建的IngressNodeFirewallNodeState对象会在 Ingress Node Firewall Operator 启动后添加。在这个版本中,reflect.DeepEqual参数替换为labels.SelectorFromSet().Matches()参数,用于正确匹配 Kubernetes 标签选择器。因此,Ingress Node Firewall Operator 可以正确地为动态添加的节点和标签更改创建IngressNodeFirewallNodeState参数。(OCPBUGS-90550) -
在此次更新之前,metrics-proxy 提取程序每 30-60 秒提取周期创建一个带有新
http.Transport的新 HTTP 客户端,而无需关闭闲置连接。Go 的http.Transport会保留闲置连接及其 TLS 缓冲,直到显式调用CloseIdleConnections。因此,闲置连接和 TLS(传输层安全)会话状态会在提取周期内无限累积,从而导致请求服务节点上的 metrics-proxy pod 内存无限增长。当一个 40Mi 请求被观察到时,最多使用 2774Mi,这会触发RequestServingNodesNeedUpscale警报。在这个版本中,在临时传输中设置DisableKeepAlives参数以防止单一用户客户端中的连接池,CloseIdleConnections会在每次ScrapeAll调用后作为安全网络延迟。因此,metrics-proxy内存用量在合理的范围内保持稳定。(OCPBUGS-90563) -
在此次更新之前,GatewayClass 控制器会在 Operator Lifecycle Management(OLM)
订阅和InstallPlan资源上设置监控,而不检查集群中是否启用了OperatorLifecycleManager功能。因此,在没有 OLM 功能的集群中,GatewayClass 控制器会在启动过程中无限期阻断,因为 OLM CRD 不存在。这会导致控制器无法协调 worker 启动,从而导致这些集群中的网关 API 无法正常工作。在这个版本中,GatewayClass 控制器中的 Subscription 和 InstallPlan 监视会被OperatorLifecycleManagerEnabled检查保护,因此只有在 OLM 存在时才注册这些监视。状态控制器subscriptionCache的创建也会使用相同的检查进行保护。因此,GatewayClass 控制器在没有 OLM 的集群中可以成功启动,Gateway API 在非 OLM 集群中可以正常工作。(OCPBUGS-91967)