发行注记


OpenShift Container Platform 4.20

OpenShift Container Platform 发行版本中的主要新功能及变化信息

摘要

此发行注记介绍了 OpenShift Container Platform 的新功能、功能增强、重要的技术变化、以及对以前版本中的错误作出的主要修正。另外,还包括在此版本正式发行(GA)时存在的已知问题的信息。

第 1 章 OpenShift Container Platform 4.20 发行注记

Red Hat OpenShift Container Platform 为软件开发人员和 IT 机构提供了一个混合云应用平台。使用这个平台可以在配置和管理成本最小化的情况下,利用安全、可扩展的资源部署新的或已有的应用程序。OpenShift Container Platform 支持大量编程语言和开发平台,如 Java、JavaScript、Python、Ruby 和 PHP。

OpenShift Container Platform 基于 Red Hat Enterprise Linux(RHEL)和 Kubernetes,为当今的企业级应用程序提供了一个更加安全、可扩展的多租户操作系统,同时提供了集成的应用程序运行时及程序库。OpenShift Container Platform 可以满足用户对安全性、隐私、合规性及监管的要求。

1.1. 关于此版本

OpenShift Container Platform (RHSA-2025:9562) 现已正式发布。此发行版本使用 Kubernetes 1.33 和 CRI-O 运行时。OpenShift Container Platform 4.20 的新功能、改变以及已知的问题包括在此文档中。

OpenShift Container Platform 4.20 集群位于 https://console.redhat.com/openshift。在 Red Hat Hybrid Cloud 控制台中,您可以将 OpenShift Container Platform 集群部署到内部环境或云环境中。

对于 control plane 和计算机器,需要使用 RHCOS 机器。

从 OpenShift Container Platform 4.14 开始,对于版本号为偶数的版本的延长更新支持 (EUS) 阶段被增加到总共 24 个月,包括所有支持的架构:x86_64, 64-bit ARM (aarch64), IBM Power® (ppc64le), 和 IBM Z® (s390x)除此之外,红帽还提供了一个 12 个月的额外 EUS 附加组件,它被称为 Additional EUS Term 2,使用它可以将生命周期从 24 个月延长至 36 个月。在 OpenShift Container Platform 的所有架构变体中提供了 Additional EUS Term 2。有关所有版本支持的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策

OpenShift Container Platform 专为 FIPS 设计。当以 FIPS 模式运行 Red Hat Enterprise Linux (RHEL) 或 Red Hat Enterprise Linux CoreOS (RHCOS) 时,OpenShift Container Platform 核心组件使用 RHEL 加密库,只有在 x86_64, ppc64le, 和 s390x 架构上的库被提交到 NIST 进行 FIPS 140-2/140-3 Validation。

有关 NIST 验证程序的更多信息,请参阅加密模块验证程序。有关为验证提交的 RHEL 加密库的单独版本的最新 NIST 状态,请参阅 Compliance Activities 和 Government Standards

OpenShift Container Platform 的层次组件和依赖组件的支持范围会独立于 OpenShift Container Platform 版本。要确定附加组件的当前支持状态和兼容性,请参阅其发行注记。如需更新相关信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策

1.3. 新功能及功能增强

此版本对以下方面进行了改进:

1.3.1. API Server

在以前的版本中,Kubernetes API 服务器的自签名 loopback 证书在一年后过期。在这个版本中,证书的过期日期将延长至三年。

1.3.1.2. dry-run 选项连接到 'oc delete istag'

在以前的版本中,使用 -dry-run=server 选项删除 istag 资源会意外导致从服务器中删除镜像的实际。这是因为 oc delete istag 命令中错误地实施了 dry-run 选项造成的意外删除。在这个版本中,dry-run 选项与 oc delete istag 命令关联。因此,意外删除镜像对象会被阻止,在使用 --dry-run=server 选项时 istag 对象保持不变。

1.3.1.3. 没有与证书相关的问题的服务中断

在这个版本中,API 服务器中的自签名回送证书会被阻止过期,并确保 Kubernetes 4.16.z 中的稳定和安全连接。此功能增强移植了来自较新版本的、cherry-picks 特定拉取请求并将其应用到所选版本的解决方案。这可减少因为与证书相关的问题造成服务中断的可能性,在 Kubernetes 4.16.z 部署中提供更好的用户体验。

1.3.1.4. 增强的 TCP 端口的通信列表

在这个版本中,OpenShift Container Platform 的通信流列表已被改进。该功能会在主节点上为开放端口 17697 (TCP) 和 6080 (TCP) 生成服务,并确保所有打开的端口都有对应的端点片段。这会产生准确和最新的通信流列表,提高了通信矩阵的整体安全性和效率,并为用户提供更加全面、可靠的通信列表。

1.3.2. 边缘计算

1.3.2.1. 对 LVM Storage Operator 的 NetworkPolicy 支持

LVM Storage Operator 现在在安装过程中应用 Kubernetes NetworkPolicy 对象,将网络通信限制为只所需的组件。此功能为 OpenShift Container Platform 集群上的 LVM Storage 部署强制实施默认网络隔离。

当使用 LVM Storage Operator 创建持久性卷(PV)时,PV 现在包含 kubernetes.io/hostname 标签。该标签显示 PV 所在的节点,以便更轻松地识别与工作负载关联的节点。这个更改只适用于新创建的 PV。现有 PV 不会被修改。

1.3.2.3. LVM Storage Operator 的默认命名空间

LVM Storage Operator 的默认命名空间现在是 openshift-lvm-storage。您仍然可以在自定义命名空间中安装 LVM 存储。

1.3.2.4. SiteConfig CR 到 ClusterInstance CR 迁移工具

OpenShift Container Platform 4.20 引进了 siteconfig-converter 工具,以帮助将受管集群从 SiteConfig 自定义资源(CR)迁移到 ClusterInstance CR。使用 SiteConfig CR 定义受管集群已弃用,并将在以后的发行版本中删除。ClusterInstance CR 提供了更加统一的定义集群方法,是在 GitOps ZTP 工作流中管理集群部署的首选方法。

使用 siteconfig-converter 工具,您可以将 SiteConfig CR 转换为 ClusterInstance CR,然后逐步迁移一个或多个集群。现有和新的管道并行运行,因此您可以以受控、分阶段的方式迁移集群,而无需停机。

注意

siteconfig-converter 工具不会转换使用已弃用的 spec.clusters.extraManifestPath 字段的 SiteConfig CR。

如需更多信息,请参阅从 SiteConfig CR 迁移到 ClusterInstance CR

1.3.3. etcd

在这个版本中,Cluster etcd Operator 引入了 etcdDatabaseQuotaLowSpace 警报的警报级别,从而为管理员提供有关低 etcd 配额使用情况的通知。这种主动警报系统旨在防止出现 API 服务器不稳定的情况,并允许在受管 OpenShift 集群中进行有效的资源管理。警报级别是 infowarningcritical,为监控 etcd 配额使用情况提供了更精细的方法,这会实现动态 etcd 配额管理并改进了整个集群性能。

1.3.3.1. 配置本地仲裁节点

您可以配置带有两个 control plane 节点的 OpenShift Container Platform 集群,以及一个本地仲裁程序节点,以便在降低集群的基础架构成本时保持高可用性 (HA)。

本地仲裁程序节点是一个低成本、共存的机器,它参与 control plane 仲裁决策。与标准的 control plane 节点不同,仲裁程序节点不会运行完整的 control plane 服务集合。通过此配置,只使用两个置备的 control plane 节点而不是三个就可以维护集群的高可用性(HA)。

这个功能现已正式发布。

如需更多信息,请参阅配置本地仲裁程序节点

具有隔离的双节点 OpenShift 集群提供可用性(HA),且对硬件的要求较小。此配置是为部署完整的三节点 control plane 集群的分布式或边缘环境而设计的。

双节点集群不包括计算节点。除了管理集群外,两个 control plane 机器还运行用户工作负载。

注意

您可以使用用户置备的基础架构方法或安装程序置备的基础架构方法部署带有隔离的双节点 OpenShift 集群。

如需更多信息,请参阅准备使用隔离安装双节点 OpenShift 集群

1.3.4. 扩展 (OLM v1)

在这个版本中,Operator Lifecycle Manager (OLM) v1 允许 Operator 在资源捆绑包中包含网络策略清单。这些定制的网络策略可防止 OpenShift Container Platform 集群上的许多攻击向量,防止数据泄漏和强化。

如需更多信息,包括通过定制网络策略释放红帽提供的 Operator 的计划时间表,请参阅 在升级(红帽知识库)之前,附带网络策略的 Operator 可能需要 OCP 集群升级

在这个版本中,您可以在启用了 TechPreviewNoUpgrade 功能集的集群中部署使用 webhook 的集群扩展。

如需更多信息,请参阅支持的扩展

1.3.5. 托管 control plane

因为托管的 control plane 的发布与 OpenShift Container Platform 不同,所以它有自己的发行注记。如需更多信息,请参阅 托管 control plane 发行注记

1.3.6. IBM Power

OpenShift Container Platform 4.20 上的 IBM Power® 发行版本为 OpenShift Container Platform 组件添加了改进和新功能。

此发行版本引进了对 IBM Power 中的以下功能的支持:

  • 在 IBM Power® 上启用加速器

1.3.7. IBM Z 和 IBM LinuxONE

OpenShift Container Platform 4.20 上的 IBM Z® 和 IBM® LinuxONE 版本为 OpenShift Container Platform 组件增加了改进和新功能。

此发行版本引进了对 IBM Z® 和 IBM® LinuxONE 中的以下功能的支持:

  • 在 IBM Z® 上启用加速器

1.3.8. IBM Power、IBM Z 和 IBM LinuxONE 支持列表

从 OpenShift Container Platform 4.14 开始,延长更新支持 (EUS) 已扩展到 IBM Power® 和 IBM Z® 平台。如需更多信息,请参阅 OpenShift EUS 概述

Expand
表 1.1. CSI 卷
功能IBM Power®IBM Z® 和 IBM® LinuxONE

克隆

支持

支持

扩展

支持

支持

Snapshot

支持

支持

Expand
表 1.2. Multus CNI 插件
功能IBM Power®IBM Z® 和 IBM® LinuxONE

Bridge

支持

支持

Host-device

支持

支持

IPAM

支持

支持

IPVLAN

支持

支持

Expand
表 1.3. OpenShift Container Platform 功能
功能IBM Power®IBM Z® 和 IBM® LinuxONE

使用 OpenShift CLI (oc) 将计算节点添加到内部集群

支持

支持

备用身份验证供应商

支持

支持

基于代理的安装程序

支持

支持

支持的安装程序

支持

支持

使用 Local Storage Operator 自动设备发现

不支持

支持

使用机器健康检查功能自动修复损坏的机器

不支持

不支持

IBM Cloud® 的云控制器管理器。

支持

不支持

在节点上控制过量使用和管理容器密度

不支持

不支持

CPU Manager

支持

支持

Cron 作业

支持

支持

Descheduler

支持

支持

Egress IP

支持

支持

加密数据存储在 etcd 中

支持

支持

FIPS 加密

支持

支持

Helm

支持

支持

Pod 横向自动扩展

支持

支持

托管 control plane

支持

支持

IBM 安全执行

不支持

支持

IBM Power® Virtual Server 的安装程序置备的基础架构支持

支持

不支持

在单一节点上安装

支持

支持

IPv6

支持

支持

用户定义项目的监控

支持

支持

多架构计算节点

支持

支持

多架构 control plane

支持

支持

多路径(Multipathing)

支持

支持

网络绑定磁盘加密 - 外部 Tang 服务器

支持

支持

Non-volatile memory express drives (NVMe)

支持

不支持

NX-gzip for Power10 (硬件加速)

支持

不支持

oc-mirror 插件

支持

支持

OpenShift CLI (oc) 插件

支持

支持

Operator API

支持

支持

OpenShift Virtualization

不支持

支持

OVN-Kubernetes,包括 IPsec 加密

支持

支持

PodDisruptionBudget

支持

支持

精度时间协议 (PTP) 硬件

不支持

不支持

Red Hat OpenShift Local

不支持

不支持

Scheduler 配置集

支持

支持

安全引导

不支持

支持

流控制传输协议 (SCTP)

支持

支持

支持多个网络接口

支持

支持

openshift-install 工具支持 IBM Power® 上的各种 SMT 级别 (Hardware Acceleration)

支持

不支持

三节点集群支持

支持

支持

拓扑管理器

支持

不支持

SCSI 磁盘中的 z/VM 模拟 FBA 设备

不支持

支持

4K FCP 块设备

支持

支持

Expand
表 1.4. Operator
功能IBM Power®IBM Z® 和 IBM® LinuxONE

cert-manager Operator for Red Hat OpenShift

支持

支持

Cluster Logging Operator

支持

支持

Cluster Resource Override Operator

支持

支持

Compliance Operator

支持

支持

Cost Management Metrics Operator

支持

支持

File Integrity Operator

支持

支持

HyperShift Operator

支持

支持

IBM Power® Virtual Server Block CSI Driver Operator

支持

不支持

Ingress Node Firewall Operator

支持

支持

Local Storage Operator

支持

支持

MetalLB Operator

支持

支持

Network Observability Operator

支持

支持

NFD Operator

支持

支持

NMState Operator

支持

支持

OpenShift Elasticsearch Operator

支持

支持

Vertical Pod Autoscaler Operator

支持

支持

Expand
表 1.5. 持久性存储选项
功能IBM Power®IBM Z® 和 IBM® LinuxONE

使用 iSCSI 的持久性存储

支持 [1]

支持 [1],[2]

使用本地卷 (LSO) 的持久性存储

支持 [1]

支持 [1],[2]

使用 hostPath 的持久性存储

支持 [1]

支持 [1],[2]

使用 Fibre Channel 持久性存储

支持 [1]

支持 [1],[2]

使用 Raw Block 的持久性存储

支持 [1]

支持 [1],[2]

使用 EDEV/FBA 的持久性存储

支持 [1]

支持 [1],[2]

  1. 必须使用 Red Hat OpenShift Data Foundation 或其他支持的存储协议来置备持久性共享存储。
  2. 必须使用本地存储(如 iSCSI、FC 或者带有 DASD、FCP 或 EDEV/FBA 的 LSO)来置备持久性非共享存储。

1.3.9. Insights Operator

1.3.9.1. 支持在集群中获取 virt-launcher 日志

在这个版本中,virt-launcher pod 的命令行日志可以在 Kubernetes 集群中收集。JSON 编码的日志保存在路径 namespaces/<namespace-name>/pods/<pod-name>/virt-launcher.json 中,这有助于对虚拟机进行故障排除和调试。

1.3.10. 安装和更新

1.3.10.1. 更改 CVO 日志级别(技术预览)

在这个版本中,集群管理员可更改 Cluster Version Operator (CVO)日志级别详细程度。

如需更多信息,请参阅 更改 CVO 日志级别

OpenShift Container Platform 4.18 可让您为节点安装具有多个网络接口控制器(NIC)的 VMware vSphere 集群作为技术预览功能。这个功能现已正式发布。

如需更多信息,请参阅配置多个 NIC

对于现有 vSphere 集群,您可以使用计算机器集添加多个子网。

在这个版本中,您可以在 Google Cloud 上安装集群到共享 VPC 时指定 DNS 私有区的位置。私有区域可以位于与主机项目或主要服务项目不同的服务项目中。

如需更多信息,请参阅 Google Cloud 配置参数

Dell iDRAC10 版本 1.20.25.00, 1.20.60.50, 和 1.20.70.50 已经过测试并验证以使用 Redfish 虚拟介质部署的安装程序置备的 OpenShift Container Platform 集群。i iDRAC10 尚未测试使用置备网络的安装。

如需更多信息,请参阅使用虚拟介质安装的固件要求

在这个版本中,您可以使用加密虚拟网络在 Azure 上安装集群。您需要使用将 PremiumIO 参数设置为 true 的 Azure 虚拟机。如需更多信息,请参阅 Microsoft 文档 Creating a virtual network with encryptionRequirements and Limitations

在这个版本中,如果使用 IBM Cloud Paks 安装集群,您必须在端口 443 上允许出站访问 icr.iocp.icr.io。IBM Cloud Pak 容器镜像需要这个访问权限。如需更多信息,请参阅配置防火墙

在这个版本中,您可以使用基于 Intel 的机密虚拟机在 Azure 上安装集群。现在支持以下机器类型:

  • DCesv5-series
  • DCedsv5-series
  • ECesv5-series
  • ECedsv5-series

如需更多信息,请参阅 启用机密虚拟机

在这个版本中,您可以使用 etcd 的专用数据磁盘在 Azure 上安装 OpenShift Container Platform 集群。此配置会将单独的受管磁盘附加到每个 control plane 节点,并只将其用于 etcd 数据,这可以提高集群性能和稳定性。此功能作为技术预览提供。如需更多信息,请参阅为 etcd 配置专用磁盘

1.3.10.9. 对裸机的多架构支持

在这个版本中,您可以安装支持多架构功能的裸机环境。您可以使用虚拟介质从现有 x86_64 集群置备 x86_64aarch64 架构,这意味着您可以更有效地管理各种硬件环境。

如需更多信息,请参阅使用多架构计算机器配置集群

1.3.10.10. 支持为裸机更新 NIC 的主机固件组件

在这个版本中,裸机的 HostFirmwareComponents 资源描述了网络接口控制器(NIC)。要更新 NIC 主机固件组件,服务器必须支持 Redfish,且必须允许使用 Redfish 更新 NIC 固件。

如需更多信息,请参阅关于 HostFirmwareComponents 资源

在 OpenShift Container Platform 4.17 中,之前删除的 Kubernetes API 会意外地重新引入。OpenShift Container Platform 4.20 中再次删除了它。

在集群从 OpenShift Container Platform 4.19 更新至 4.20 之前,集群管理员必须手动提供确认。这种保护有助于防止工作负载、工具或其他组件仍依赖于 OpenShift Container Platform 4.20 中删除的 Kubernetes API 时可能出现的更新问题。

在继续集群更新前,管理员必须执行以下操作:

  1. 评估集群以使用要删除的 API。
  2. 迁移受影响的清单、工作负载和 API 客户端以使用受支持的 API 版本。
  3. 向管理员提供所有必需的更新确认。

所有 OpenShift Container Platform 4.19 集群都需要此管理员确认,然后才能升级到 OpenShift Container Platform 4.20。

如需更多信息,请参阅 Kubernetes API 删除

在以前的版本中,当在 IBM Power Virtual Server 上安装集群时,您只能为现有的 Transit Gateway 或 Virtual Private Cloud (VPC) 指定名称。由于名称的唯一性无法保证,这可能导致冲突和安装失败。在这个版本中,您可以为 Transit Gateway 和 VPC 使用通用唯一标识符(UUID)。通过使用唯一标识符,安装程序可以明确地识别正确的 Transit Gateway 或 VPC。这可防止命名冲突,并解决了这个问题。

在这个版本中,您可以在新的 Oracle 基础架构产品上安装一个技术预览集群。

以下新的 Oracle 分布式云基础架构类型现在可用:

  • US Government Cloud
  • UK Sovereign Cloud
  • EU Sovereign Cloud
  • Isolated Region
  • Oracle Alloy

以下新的 Oracle Edge Cloud 基础架构类型现在可用:

  • Roving Edge

如需更多信息,请参阅使用 Assisted Installer 在 Oracle 分布式云上安装集群,和使用 Assisted Installer 在 Oracle Edge Cloud 上安装集群

现在,您可以在 VMware vSphere Foundation (VVF) 9 和 VMware Cloud Foundation (VCF) 9 上安装 OpenShift Container Platform。

注意

以下额外的 VCF 和 VVF 组件超出了红帽支持的范围:

  • 管理:VCF Operations、VCF 自动化、VCF Fleet Management 和 VCF Identity Broker.
  • 网络:VMware NSX Container Plugin (NCP)。
  • 迁移:VMware HCX.

1.3.11. Machine Config Operator

现在,更新的引导镜像作为 VMware vSphere 集群的技术预览功能被支持。此功能允许您配置集群,以便在更新集群时更新节点引导镜像。默认情况下,集群中的引导镜像不会随集群一起更新。如需更多信息,请参阅 更新引导镜像

1.3.11.2. On-cluster 镜像模式重启改进

以下机器配置更改不再会导致带有集群自定义分层镜像的节点重新引导:

  • 修改 /var/etc 目录中的配置文件
  • 添加或修改 systemd 服务
  • 更改 SSH 密钥
  • ICSPITMSIDMS 对象中删除镜像规则
  • 通过更新 openshift-config 命名空间中的 user-ca-bundle configmap 来更改可信 CA

如需更多信息,请参阅集群镜像模式已知限制

1.3.11.3. On-cluster 镜像模式状态报告改进

当为 OpenShift 配置镜像模式时,会改进错误报告,包括以下更改:

  • 在构建并推送自定义分层镜像后,错误可能会导致构建过程失败。如果发生这种情况,MCO 现在会报告错误,machineosbuild 对象和构建程序 pod 会报告失败。
  • oc describe mcp 输出有一个新的 ImageBuildDegraded 状态字段,在自定义分层镜像构建失败时报告。

现在,您可以使用带有集群自定义分层镜像的 MachineConfig 对象中的 kernelType 参数,以便在节点上安装实时内核。在以前的版本中,在具有集群自定义分层镜像的节点上,会忽略 kernelType 参数。如需更多信息,请参阅向节点添加实时内核

1.3.11.5. 将镜像固定到节点

在带有缓慢且不可靠的到镜像 registry 的集群中,您可以在需要前使用 PinnedImageSet 对象来拉取镜像,然后将这些镜像与机器配置池关联。这样可确保镜像在需要时可供该池中的节点使用。Machine Config Operator 的 must-gather 包括集群中的所有 PinnedImageSet 对象。如需更多信息,请参阅将镜像固定到节点

1.3.11.6. 改进了 MCO 状态报告现已正式发布

机器配置节点自定义资源(可用于监控机器配置更新的进度)现已正式发布。

现在,除了 control plane 和 worker 池外,您还可以查看自定义机器配置池的更新状态。功能的功能没有改变。但是,命令输出和 MachineConfigNode 对象中的 status 字段中的一些信息已更新。Machine Config Operator 的 must-gather 现在包含集群中的所有 MachineConfigNodes 对象。如需更多信息,请参阅关于检查机器配置节点状态

1.3.11.7. 启用直接

此发行版本包括一个新的安全性上下文约束(SCC),名为 hostmount-anyuid-v2。此 SCC 提供与 hostmount-anyuid SCC 相同的功能,但包含 seLinuxContext: RunAsAny。这个 SCC 被添加,因为 hostmount-anyuid SCC 旨在允许可信 pod 访问主机上的任何路径,但 SELinux 会阻止容器访问大多数路径。hostmount-anyuid-v2 允许以任何 UID 的身份访问主机文件系统,包括 UID 0,并旨在使用特权 SCC 而不是 privileged SCC。请谨慎授予。

1.3.12. 机器管理

1.3.12.1. 其他 AWS 容量保留配置选项

在使用 Cluster API 管理机器的集群上,您可以指定额外的限制来确定计算机器是否使用 AWS 容量保留。如需更多信息,请参阅容量保留配置选项

1.3.12.2. 集群自动扩展扩展延迟

现在,您可以在集群自动扩展识别新待处理的 pod 前配置延迟,并使用 ClusterAutoscaler CR 中的 spec.scaleUp.newPodScaleUpDelay 参数将 pod 调度到新节点。如果节点在延迟后保持不变,集群自动扩展可以扩展新节点。此延迟可让集群自动扩展额外时间来定位适当的节点,或者可以等待现有 pod 上的空间可用。如需更多信息,请参阅配置集群自动扩展

1.3.13. 监控

此发行版本中的集群监控堆栈包括以下新功能和修改后的功能:

1.3.13.1. 监控堆栈组件和依赖项更新

此发行版本包括对集群监控堆栈组件和依赖项的以下版本更新:

  • Prometheus 更新到 3.5.0
  • Prometheus Operator 0.85.0
  • Metrics Server 更新到 0.8.0
  • Thanos 更新到 0.39.2
  • kube-state-metrics 代理更新到 2.16.0
  • prom-label-proxy 更新到 0.12.0
1.3.13.2. 对警报规则的更改
注意

红帽不保证记录规则或警报规则的向后兼容性。

  • AlertmanagerClusterFailedToSendAlerts 警报的表达式已更改。该警报现在会在较长时间内评估速率,从 5m15m

在这个版本中,您可以为 Metrics Server 配置日志详细程度。您可以设置数字详细程度来控制日志信息的数量,其中较高的数字会增加日志记录详情。

如需更多信息,请参阅为监控组件设置日志级别

1.3.14. 网络

1.3.14.1. 支持 Gateway API Inference Extension

OpenShift Container Platform 4.20 将 Red Hat OpenShift Service Mesh 更新至 3.1.0 版本,现在支持 Red Hat OpenShift AI。这个版本包括了重要的 CVE 修复,解决了其他错误,并将 Istio 升级到 1.26.2 以提高安全性和性能。如需更多信息,请参阅 Service Mesh 3.1.0 发行注记

1.3.14.2. 支持 BGP 路由协议

Cluster Network Operator (CNO)现在支持启用边框网关协议(BGP)路由。使用 BGP,您可以将路由导入到底层供应商网络,并使用多语言、链接冗余和快速聚合。BGP 配置通过 FRRConfiguration 自定义资源(CR)进行管理。

当从安装 MetalLB Operator 的早期版本的 OpenShift Container Platform 升级时,您必须手动将自定义 frr-k8s 配置从 metallb-system 命名空间迁移到 openshift-frr-k8s 命名空间。要移动这些 CR,请输入以下命令:

  1. 运行以下命令来创建 openshift-frr-k8s 命名空间:

    $ oc create namespace openshift-frr-k8s
  2. 要自动化迁移,请使用以下内容创建一个 migrate.sh 文件:

    #!/bin/bash
    OLD_NAMESPACE="metallb-system"
    NEW_NAMESPACE="openshift-frr-k8s"
    FILTER_OUT="metallb-"
    oc get frrconfigurations.frrk8s.metallb.io -n "${OLD_NAMESPACE}" -o json |\
      jq -r '.items[] | select(.metadata.name | test("'"${FILTER_OUT}"'") | not)' |\
      jq -r '.metadata.namespace = "'"${NEW_NAMESPACE}"'"' |\
      oc create -f -
  3. 要运行迁移脚本,请输入以下命令:

    $ bash migrate.sh
  4. 要验证迁移是否成功,请输入以下命令:

    $ oc get frrconfigurations.frrk8s.metallb.io -n openshift-frr-k8s

迁移完成后,您可以从 metallb-system 命名空间中删除 FRR-K8s 自定义资源。

如需更多信息,请参阅关于 BGP 路由

启用路由公告后,OVN-Kubernetes 网络插件支持将与集群用户定义的网络(CUDN)关联的 pod 和服务的路由直接公告到提供商网络。这个功能提供了以下一些优点:

  • 动态了解路由到 pod 的路由
  • 动态公告路由
  • 除了基于 gratuitous ARP 的第 2 层外,还启用 EgressIP 故障切换的第 3 层通知。
  • 支持外部路由反映器,这可减少大型网络中所需的 BGP 连接数

如需更多信息,请参阅关于路由公告

预配置的用户定义的网络端点作为技术预览提供,并由功能门 PreconfiguredUDNAddresses 控制。现在,您可以明确控制覆盖网络配置,包括:IP 地址、MAC 地址和默认网关。此功能可用于第 2 层,作为 ClusterUserDefinedNetwork (CUDN)自定义资源(CR)的一部分。管理员可以预先配置端点,在不中断的情况下迁移 KubeVirt 虚拟机(VM)。要启用该功能,请使用 CUDN CR 中的 reservedSubnetsinfrastructureSubnetsdefaultGatewayIPs 的新字段。有关配置的更多信息,请参阅用户定义的网络的其他配置详情。目前,只有 ClusterUserDefinedNetworks CR 支持静态 IP 地址,且只适用于 MTV。

1.3.14.5. 支持将配置的 br-ex 网桥迁移到 NMState

如果您使用 configure-ovs.sh shell 脚本在集群安装过程中设置 br-ex 网桥,您可以将 br-ex 网桥迁移到 NMState 作为安装后任务。如需更多信息,请参阅将配置的 br-ex 网桥迁移到 NMState

1.3.14.6. 配置增强的 PTP 日志记录

现在,您可以为 PTP Operator 配置增强的日志缩减,以减少 linuxptp-daemon 生成的日志卷。

此功能提供过滤日志的定期摘要,这些日志在基本日志时不可用。另外,您可以为概述日志设置特定的间隔,以及 master 偏移日志的纳秒阈值。

如需更多信息,请参阅配置增强的 PTP 日志记录

在这个版本中,您可以在仅使用以下双端口 NIC 的 AArch64 架构节点上为 PTP 普通时钟配置冗余:

  • NVIDIA ConnectX-7 系列
  • NVIDIA BlueField-3 系列,在 NIC 模式中

此功能作为技术预览提供。如需更多信息,请参阅使用双端口 NIC 来提高 PTP 普通时钟的冗余

在本发行版本中,您可以使用 xmitHashPolicy 作为绑定 CNI 插件配置的一部分,为聚合接口指定传输哈希策略。此功能作为技术预览提供。

如需更多信息,请参阅 Bond CNI secondary network 的配置

在 OpenShift Container Platform 4.20 中,您可以在应用程序命名空间中直接创建和管理 SR-IOV 网络。这个新功能提供对网络配置的更大控制,有助于简化您的工作流。

在以前的版本中,创建 SR-IOV 网络需要集群管理员为您配置它。现在,您可以直接在自己的命名空间中管理这些资源,它提供几个关键优点:

  • 增加自动和控制 :您现在可以创建自己的 SriovNetwork 对象,不再需要集群管理员进行网络配置任务。
  • 增强安全性:管理您自己的命名空间中的资源通过提供更好的应用程序分离来提高安全性,并有助于防止意外配置。
  • 简化权限 :现在,您可以使用命名空间的 SR-IOV 网络简化权限并减少操作开销。

如需更多信息,请参阅配置命名空间的 SR-IOV 资源

1.3.14.10. Unnumbered BGP peering

在这个版本中,OpenShift Container Platform 包含未编号的 BGP 对等。这个功能以前作为技术预览提供。您可以使用 BGP peer 自定义资源的 spec.interface 字段来配置未编号的 BGP 对等。

如需更多信息,请参阅配置 MetalLB 和 FRR-K8s 的集成

此技术预览功能引入了 PF Status Relay Operator。Operator 使用链路聚合控制协议(LACP)作为健康检查来检测上游交换机失败,为使用带有 SR-IOV 网络虚拟功能(VF)的 pod 级别绑定的工作负载启用高可用性。

如果没有此功能,上游切换可能会失败,而底层物理功能(PF)仍然报告 up 状态。附加到 PF 的 VF 也保持启动,从而导致 pod 将流量发送到死端点,并导致数据包丢失。

PF Status Relay Operator 通过监控 PF 的 LACP 状态来防止这种情况。当检测到失败时,Operator 会强制关闭附加的 VF 链接状态,触发 pod 的绑定切换到备份路径。这样可确保工作负载保持可用,并最小化数据包丢失。

如需更多信息,请参阅 SR-IOV 网络中 pod 级别绑定的高可用性

1.3.14.12. 额外命名空间的网络策略

在这个版本中,OpenShift Container Platform 将 Kubernetes 网络策略部署到额外的系统命名空间中,以控制入口和出口流量。预计将来的版本可能会包含适用于其他系统命名空间和 Red Hat Operator 的网络策略。

在这个版本中,PTP Operator 提供了无需协助的 holdover 作为技术预览功能。当上游计时信号丢失时,PTP Operator 会自动将 PTP 设备配置为边界时钟或时间从时钟进入 holdover 模式。自动放置进入 holdover 模式有助于为集群节点维护连续稳定的时间源,从而最大程度缩短时间同步中断。

注意

此功能仅适用于带有 Intel E810-XXVDA4T 网络接口卡的节点。

如需更多信息,请参阅配置 PTP 设备

1.3.14.14. NVIDIA BlueField-3 DPU 支持(技术预览)

在这个版本中,OpenShift Container Platform 引入了作为技术预览的,由 Chip 架构(DOCA)平台框架(DOCA)平台框架(DPF) Operator 管理,用于自动置备和生命周期管理的 NVIDIA BlueField-3 Data Processing Unit (DPU)支持。这个解决方案提供以下主要客户优点:

  • 数据平面加速:卸载并加快网络处理。
  • 安全隔离:分离基础架构和租户工作负载以提高安全性。
  • 计算扩展:通过将基础架构工作负载(如网络)部署到 DPU 来释放主机 CPU 资源。

部署使用由基础架构和租户集群组成的双集群模型。它还为将来的 DOCA 服务提供了基础,例如 Firefly、SNAP、Telemetry 和第三方网络功能。

1.3.15. 节点

1.3.15.1. sigstore 支持现已正式发布

现在,提供了对 sigstore ClusterImagePolicyImagePolicy 对象的支持。API 版本现在是 config.openshift.io/v1。如需更多信息,请参阅使用 sigstore 管理安全签名

注意

默认 openshift 集群镜像策略是技术预览,且仅在启用了技术预览功能的集群中处于活跃状态。

现在,您可以使用 sigstore ClusterImagePolicyImagePolicy 对象生成 BYOPKI 配置到 policy.json 文件,可让您使用 BYOPKI 验证镜像签名。如需更多信息,请参阅关于集群和镜像策略参数

1.3.16.1. Linux 用户命名空间支持现已正式发布

现在,默认启用将 pod 和容器部署到 Linux 用户命名空间中。在单个用户命名空间中运行 pod 和容器可以缓解受到破坏的容器可能会给其他 pod 和节点本身造成的一些漏洞。此更改还包括两个新的安全性上下文约束: restricted-v3nested-container,它们专门设计为用于用户命名空间。您还可以在 pod 中将 /proc 文件系统配置为 unmasked。如需更多信息,请参阅在 Linux 用户命名空间中运行 pod

通过使用原位 pod 大小调整功能,您可以应用调整大小的策略来更改正在运行的 pod 中的容器的 CPU 和内存资源,而无需重新创建或重启 pod。如需更多信息,请参阅 手动调整 pod 资源级别

1.3.16.3. 将 OCI 镜像挂载到 pod 中

您可以使用一个镜像卷,直接将一个 Open Container Initiative (OCI) 兼容的容器镜像挂载到 pod。如需更多信息,请参阅将 OCI 镜像挂载到 pod 中

1.3.16.4. 将特定的 GPU 分配给 pod (技术预览)

现在,您可以启用 pod 根据特定设备属性(如产品名称、GPU 内存容量、计算功能、厂商名称和驱动程序版本)请求 GPU。这些属性由您安装的第三方 DRA 资源驱动程序公开。如需更多信息,请参阅将 GPU 分配给 pod

1.3.17. OpenShift CLI (oc)

oc adm upgrade recommend 命令以前是技术预览,现在,oc adm upgrade recommend 命令允许系统管理员使用命令行界面(CLI)在其 OpenShift Container Platform 集群上执行预更新检查。预更新检查有助于发现潜在的问题,使用户在启动更新前解决它们。通过运行 precheck 命令并检查输出,用户可以准备更新集群,并决定何时启动更新。

如需更多信息,请参阅使用 CLI 更新集群

oc adm upgrade status 命令以前为技术预览,现在,oc adm upgrade status 命令允许使用命令行界面 (CLI) 获取有关 OpenShift Container Platform 集群更新状态的高级概述信息。输入命令时会提供三种信息:control plane 信息、worker 节点信息和健康见解。

目前,在 Hosted Control Plane (HCP) 集群中不支持该命令。

如需更多信息,请参阅使用 CLI 更新集群

操作对象镜像在运行时由 Operator 控制器动态部署,通常由控制器部署模板中的环境变量引用。

在 OpenShift Container Platform 4.20 之前,当 oc-mirror plugin v2 可以访问这些环境变量时,它会尝试镜像所有值,包括非镜像引用,如日志级别,从而导致失败。在这个版本中,OpenShift Container Platform 只标识并镜像这些环境变量中引用的容器镜像。

如需更多信息,请参阅 oc-mirror 插件 v2 的 ImageSet 配置参数

1.3.18. Operator 开发

1.3.18.1. 支持的 Operator 基础镜像

在这个版本中,Operator 项目的以下基础镜像已更新,以便与 OpenShift Container Platform 4.20 兼容。这些基础镜像的运行时功能和配置 API 仍然会有程序错误修复和并提供对相关 CVE 的解决方案。

  • 基于 Ansible 的 Operator 项目的基础镜像
  • 基于 Helm 的 Operator 项目的基础镜像

如需更多信息,请参阅为 OpenShift Container Platform 4.19 及之后的版本(红帽知识库)为现有基于 Ansible 或 Helm 的 Operator 项目更新基础镜像

1.3.19. Operator 生命周期

在这个版本中,Operator Lifecycle Manager (OLM)经典允许 Operator 在资源捆绑包中包含网络策略清单。这些定制的网络策略可防止 OpenShift Container Platform 集群上的许多攻击向量,防止数据泄漏和强化。

如需更多信息,包括通过定制网络策略释放红帽提供的 Operator 的计划时间表,请参阅 在升级(红帽知识库)之前,附带网络策略的 Operator 可能需要 OCP 集群升级

在这个版本中,红帽提供的 Operator 目录已从 OperatorHub 移到软件目录中,在控制台中,Operator 导航项被重命名为生态系统(Ecosystem)。统一的软件目录在同一控制台视图中显示 Operator、Helm chart 和其他可安装的内容。

  • 要在控制台中访问红帽提供的 Operator 目录,请选择 EcosystemSoftware Catalog
  • 要管理、更新和删除已安装的 Operator,请选择 EcosystemInstalled Operators
注意

目前,控制台只支持使用 Operator Lifecycle Manager (OLM) Classic 管理 Operator。如果要使用 OLM v1 来安装和管理集群扩展,如 Operator,则需要使用 CLI。

要管理默认或自定义目录源,您仍可以通过控制台 中的 OperatorHub 自定义资源 (CR) 进行,或使用 CLI。

1.3.20. 安装后配置

在这个版本中,您可以将 AWS OpenShift Container Platform 集群配置为使用 STS,即使您在安装过程中没有这样做。

如需更多信息,请参阅在现有集群上启用 AWS 安全令牌服务(STS)

1.3.21. Red Hat Enterprise Linux CoreOS (RHCOS)

1.3.21.1. 使用 kdump 调查内核崩溃(GA)

在这个版本中,对于所有支持的构架,包括 x86_64,arm64,s390x, 和 ppc64lekdump 为 GA。这个增强可让用户更有效地诊断和解决内核问题。

1.3.21.2. Ignition 更新至版本 2.20.0

RHCOS 引入了 Ignition 版本 2.20.0。此功能增强支持使用 partx 工具对挂载分区的磁盘进行分区,该工具现在包含在 dracut 模块安装中。另外,这个更新添加了对 Proxmox 虚拟环境的支持。

1.3.21.3. Butane 更新至 0.23.0 版本

RHCOS 现在包括 Butane 版本 0.23.0。

1.3.21.4. Afterburn 更新到版本 5.7.0

RHCOS 现在包括 Afterburn 版本 5.7.0。在这个版本中,增加了对 Proxmox 虚拟环境的支持。

1.3.21.5. coreos-installer 更新至 0.23.0 版本

在这个版本中,coreos-installer 工具更新至 0.23.0 版本。

1.3.22. 可伸缩性和性能

在 OpenShift Container Platform 4.20 中,NUMA Resources Operator 默认自动启用高可用性 (HA) 模式。在这个模式中,NUMA Resources Operator 为集群中的每个 control-plane 节点创建一个调度程序副本,以确保冗余。如果没有在 NUMAResourcesScheduler 自定义资源中指定 spec.replicas 字段,则会发生此默认行为。或者,您可以通过将 spec.replicas 字段设置为 0 来明确设置特定数量的调度程序副本来覆盖默认的 HA 行为,或者完全禁用调度程序。最多副本数为 3,即使 control plane 节点的数量超过 3。

如需更多信息,请参阅为 NUMA 感知调度程序管理高可用性(HA)

在这个版本中,NUMA Resources Operator 可以管理配置为可以调度的 control plane 节点。此功能允许您在 control plane 节点上部署拓扑感知工作负载,这在受限的资源环境中(如紧凑集群)特别有用。

此功能增强帮助 NUMA Resources Operator 使用最合适的 NUMA 拓扑在节点上调度 NUMA 感知 pod,即使在 control plane 节点上也是如此。

如需更多信息,请参阅 NUMA Resources Operator 支持可调度 control-plane 节点

1.3.22.3. 现在默认禁用 Receive Packet Steering (RPS)

在这个版本中,当应用 Performance Profile 时不再配置 Receive Packet Steering (RPS)。RPS 配置会影响直接在对延迟敏感的线程中执行网络系统调用(如 send)的容器。为了避免在没有配置 RPS 时造成延迟影响,请将网络调用移到 helper 线程或进程。

以前的 RPS 配置可以解决延迟问题,但会牺牲整个 pod 内核的网络性能。当前的默认配置要求开发人员解决底层应用程序设计问题,而不是掩盖其对性能影响。这样可以提高透明度。

要恢复到之前的行为,请将 performance.openshift.io/enable-rps 注解添加到 PerformanceProfile 清单中:

apiVersion: performance.openshift.io/v2
kind: PerformanceProfile
metadata:
  name: example-performanceprofile
  annotations:
    performance.openshift.io/enable-rps: "enable"
注意

此操作会恢复之前的功能,但同时在全局范围内降低了所有 pod 的网络性能。

在这个版本中,您可以使用 PerformanceProfile 自定义资源在具有 Intel Sierra Forest CPU 的机器上配置 worker 节点。使用单个 NUMA 域 (NPS=1) 配置时,这些 CPU 被支持。

在这个版本中,您可以使用 PerformanceProfile 自定义资源在装有 AMD Turin CPU 的机器上配置 worker 节点。使用单个 NUMA 域 (NPS=1) 配置时,这些 CPU 被完全支持。

1.3.22.6. 为 Kubernetes API Hitless TLS 证书轮转

此新功能增强了 OpenShift Container Platform 中的 TLS 证书轮转,确保 95% 的预期集群的可用性。这对于高事务型集群和单节点 OpenShift 部署特别有用,确保即使负载过重,也能确保无缝操作。

1.3.22.7. etcd 的额外集群延迟要求

在这个版本中,etcd 产品文档被更新,包含了额外的减少 OpenShift Container Platform 集群延迟的要求信息。在这个版本中,明确了使用 etcd 的先决条件和设置步骤,从而提高了用户体验。因此,这个功能引进了对 etcd 中的传输层安全(TLS) 1.3 的支持,这提高了数据传输的安全性和性能,并允许 etcd 遵守最新的安全标准,从而减少潜在的漏洞。改进的加密可确保 etcd 与其客户端间的更安全通信。如需更多信息,请参阅 etcd 的集群延迟要求

1.3.23. Storage

Secrets Store CSI Driver Operator 版本 4.20 现在基于上游 v1.5.2 版本。Secrets Store CSI Driver Operator 现在在安装过程中应用 Kubernetes NetworkPolicy 对象,将网络通信限制为只在所需的组件间进行。

1.3.23.2. 卷填充器已正式发布

卷填充器(volume populator)功能允许您创建预先填充的卷。

OpenShift Container Platform 4.20 为卷填充器功能引入了一个新的字段 dataSourceRef,它扩展了对象,该对象可用于预填充卷(从持久性卷声明(PVC)和快照)到任何适当的自定义资源(CR)的数据源。

OpenShift Container Platform 现在提供 volume-data-source-validator,它报告使用没有相应 VolumePopulator 实例的卷填充器的 PVC 的事件。以前的 OpenShift Container Platform 版本不需要 VolumePopulator 实例,因此如果您从 4.12 或更高版本升级,您可能会收到有关未注册填充器的事件。如果您之前自行安装了 volume-data-source-validator,则可以删除您的版本。

卷填充器功能在 OpenShift Container Platform 4.12 中作为技术预览功能引入,现在为 GA。

卷填充会被默认启用。但是,OpenShift Container Platform 不附带任何卷填充器。

有关卷填充器的更多信息,请参阅卷填充器

1.3.23.3. Azure Disk 的 Performance plus 为 GA

通过启用 Performance plus,以下类型的磁盘的 input/output operations per second (IOPS) 和吞吐量限制(513 GiB 及更大)有所增加:

  • Azure Premium solid-state drives (SSD)
  • 标准 SSD
  • 标准硬盘 (HDD)

此功能在 OpenShift Container Platform 4.20 中正式发布。

有关性能加上的更多信息,请参阅 Azure 磁盘的 Performance plus

1.3.23.4. 已更改的块跟踪(开发者预览)

更改的块跟踪可为支持此功能的 Container Storage Interface (CSI)驱动程序管理的持久性卷(PV)启用高效、增量备份和灾难恢复。

更改的块跟踪可让使用者请求两个快照之间更改的块列表,这对于备份解决方案供应商非常有用。通过仅备份更改的块,而不是整个卷,备份进程效率更高。

重要

更改的块跟踪只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。

有关更改的块跟踪的更多信息,请参阅此 KB 文章

1.3.23.5. AWS EFS One Zone 卷支持已正式发布

OpenShift Container Platform 4.20 引入了 AWS Elastic File Storage (EFS) One Zone 卷支持作为正式发布(GA)。通过这个功能,如果文件系统域名系统(DNS)解析失败,EFS CSI 驱动程序可以回退到挂载目标。挂载目标充当网络端点,它允许虚拟私有云(VPC)中的 AWS EC2 实例或其他 AWS 计算实例连接到并挂载 EFS 文件系统。

有关 One Zone 的更多信息,请参阅 对 One Zone 的支持

卷的某些操作可能会导致 pod 启动延迟,这可能会导致 pod 超时。

fsGroup: 对于具有多个文件的卷,pod 启动超时可能会发生。这是因为,在默认情况下,OpenShift Container Platform 会递归更改每个卷内容的所有权和权限,以便在挂载卷时与 pod 的 securityContext 中指定的 fsGroup 匹配。这可能会非常耗时,会减慢 pod 启动的速度。您可以使用 securityContext 中的 fsGroupChangePolicy 参数来控制 OpenShift Container Platform 检查和管理卷的所有权和权限的方式。

在 OpenShift Container Platform 4.10 中,可以在 pod 级别上更改此参数。在 4.20 中,除了 pod 级别外,您还可以在命名空间级别设置此参数。这个功能为 GA。

SELinux: SELinux (Security-Enhanced Linux)是一种安全机制,可为系统上的所有对象(文件、进程、网络端口等)分配安全标签(上下文)。这些标签决定了进程可以访问的内容。当 pod 启动时,容器运行时会以递归的方式重新标记卷中的所有文件,以匹配 pod 的 SELinux 上下文。对于具有大量文件的卷,这可能会显著提高 pod 启动时间。可以使用挂载选项来避免以递归方式重新标记所有文件。方法是使用 -o context 挂载选项直接挂载卷。这有助于避免出现 pod 超时的问题。

RWOP 和 SELinux 挂载选项: ReadWriteOncePod (RWOP) 持久性卷默认使用 SELinux 挂载功能。在 OpenShift Container Platform 4.15 中挂载选项作为技术预览功能被引入,在 4.16 中为 GA。

RWO 和 RWX 和 SELinux 挂载选项: ReadWriteOnce (RWO)和 ReadWriteMany (RWX) 卷默认使用递归重新标记。OpenShift Container Platform 4.17 中引入了 RWO/RWX 的挂载选项,作为一个开发者技术预览功能,现在在 4.20 中被支持。

重要

在以后的 OpenShift Container Platform 版本中,RWO 和 RWX 卷将默认使用挂载选项。

为了帮助您了解将会很快引入的挂载选项被默认使用的变化,OpenShift Container Platform 4.20 会在创建和运行 pod 时报告与 SELinux 相关的冲突,以便您了解潜在的冲突,并帮助您解决它们。有关此报告的更多信息,请参阅这个 KB 文章

如果您无法解决与 SELinux 相关的冲突,可以主动选择不使用所选 pod 或命名空间的挂载选项。

在 OpenShift Container Platform 4.20 中,RWO 和 RWX 卷的挂载选项功能作为技术预览功能提供,您可以试用它们。

重要

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

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

有关 fsGroup 的更多信息,请参阅使用 fsGroup 缩减 pod 超时

有关 SELinux 的更多信息,请参阅使用 seLinuxChangePolicy 缩减 pod 超时

在 OpenShift Container Platform 4.18 之前,不会始终应用持久性卷(PV)重新声明策略。

对于绑定 PV 和持久性卷声明(PVC)对,PV-PVC 删除的顺序决定是否应用了 PV 删除重新声明策略。如果在删除 PV 前删除了 PVC,PV 会应用重新声明策略。但是,如果在删除 PVC 前删除了 PV,则不会应用重新声明策略。因此,外部基础架构中关联的存储资产不会被删除。

从 OpenShift Container Platform 4.18 开始,会始终应用 PV 重新声明策略。它是一个技术预览功能。在 OpenShift Container Platform 4.20 中,此功能已成为 GA。

如需更多信息,请参阅持久性卷的 Reclaim 策略

默认情况下,OpenShift Container Platform 会创建 Manila 存储类,用于为所有 IPv4 客户端提供访问,从而有可能将其更新为一个单一 IP 地址或子网。在 OpenShift Container Platform 4.20 中,您可以使用 nfs-ShareClient 参数定义使用多个客户端 IP 地址或子网的自定义存储类来限制客户端访问。

此功能在 OpenShift Container Platform 4.20 中正式发布。

如需更多信息,请参阅自定义 Manila 共享访问规则

1.3.23.9. AWS EFS 跨帐户流程修订

为增强可用性并提供安全令牌服务(STS)和非STS 支持,Amazone Web Serivces (AWS) Elastic File Service (EFS)跨帐户支持流程已被修改。

要查看修订的流程,请参阅 AWS EFS 跨帐户支持

1.3.24. Web 控制台

1.3.24.1. 支持导入流中的自定义应用程序图标

在此次更新之前,容器镜像 表单流只为应用程序提供一组有限的预定义图标。

在这个版本中,您可以在通过 容器镜像 表单导入应用程序时添加自定义图标。对于现有应用程序,应用 app.openshift.io/custom-icon 注解,将自定义图标添加到对应的 Topology 节点。

因此,您可以在 Topology 视图中更好地识别应用程序,并更清晰地组织您的项目。

1.4. 主要的技术变化

1.4.1. MachineOSConfig 命名更改

与 on-cluster 镜像模式一起使用的 MachineOSConfig 对象的名称现在必须与您要部署自定义分层镜像的机器配置池相同。在以前的版本中,您可以使用任何名称。进行了这个更改,以防止尝试对每个机器配置池使用多个 MachineOSConfig 对象。

在这个版本中,oc-mirror 插件 v2 会在填充缓存并开始镜像操作前验证 registry 凭证、DNS 名称和 SSL 证书等信息。这可防止用户仅在填充缓存并开始镜像后发现某些问题。

Broadcom 已结束对 VMware vSphere 7 和 VMware Cloud Foundation (VCF) 4 的一般支持。如果您的现有 OpenShift Container Platform 集群在这些平台上运行,您必须计划将 VMware 基础架构迁移到受支持的版本。OpenShift Container Platform 支持在 vSphere 8 Update 1 或更高版本上安装,或 VCF 5 或更高版本。

1.5. 弃用和删除的功能

1.5.1. 镜像已弃用和删除的功能

Expand
表 1.6. 镜像已弃用和删除的 tracker
功能4.184.194.20

Cluster Samples Operator

Deprecated

Deprecated

Deprecated

1.5.2. 安装已弃用和删除的功能

Expand
表 1.7. 安装已弃用并删除跟踪器
功能4.184.194.20

oc adm release extract--cloud 参数

Deprecated

Deprecated

Deprecated

cluster.local 域的 CoreDNS 通配符查询

Deprecated

Deprecated

Deprecated

compute.platform.openstack.rootVolume.type for RHOSP

Deprecated

Deprecated

Deprecated

controlPlane.platform.openstack.rootVolume.type for RHOSP

Deprecated

Deprecated

Deprecated

安装程序置备的基础架构集群的 install-config.yaml 文件中的 ingressVIPapiVIP 设置

Deprecated

Deprecated

Deprecated

基于软件包的 RHEL 计算机器

Deprecated

删除

删除

用于 Amazon Web Services (AWS) 的platform.aws.preserveBootstrapIgnition 参数

Deprecated

Deprecated

Deprecated

在带有 AWS Outposts 中的计算节点的 AWS 上安装集群

已弃用

已弃用

已弃用

1.5.3. 机器管理已弃用和删除的功能

Expand
表 1.8. 机器管理已弃用并删除 tracker
功能4.184.194.20

带有 AMD Secure Encrypted Virtualization for Google Cloud 的机密计算

公开发行

公开发行

Deprecated

1.5.4. 已弃用和删除的网络功能

Expand
表 1.9. 已弃用和删除的网络功能跟踪器
功能4.184.194.20

iptables

Deprecated

Deprecated

Deprecated

1.5.5. 节点已弃用和删除的功能

Expand
表 1.10. 节点已弃用并删除 tracker
功能4.184.194.20

ImageContentSourcePolicy (ICSP) 对象

Deprecated

Deprecated

Deprecated

Kubernetes 拓扑标签 failure-domain.beta.kubernetes.io/zone

Deprecated

Deprecated

Deprecated

Kubernetes 拓扑标签 failure-domain.beta.kubernetes.io/region

Deprecated

Deprecated

Deprecated

cgroup v1

Deprecated

删除

删除

1.5.6. OpenShift CLI (oc) 已弃用和删除的功能

Expand
表 1.11. OpenShift CLI (oc) 已弃用并删除 tracker
功能4.184.194.20

oc-mirror plugin v1

Deprecated

Deprecated

Deprecated

Docker v2 registry

公开发行

公开发行

Deprecated

Expand
表 1.12. Operator 生命周期和开发已弃用并删除 tracker
功能4.184.194.20

Operator SDK

Deprecated

删除

删除

为基于 Ansible 的 Operator 项目构建工具

Deprecated

删除

删除

为基于 Helm 的 Operator 项目构建工具

Deprecated

删除

删除

为基于 Go 的 Operator 项目构建工具

Deprecated

删除

删除

为基于 Helm 的 Operator 项目构建工具

删除

删除

删除

为基于 Java 的 Operator 项目构建工具

删除

删除

删除

Operator 目录的 SQLite 数据库格式

Deprecated

Deprecated

Deprecated

1.5.8. 存储已弃用和删除的功能

Expand
表 1.13. 存储已弃用和删除的 tracker
功能4.184.194.20

共享资源 CSI Driver Operator

删除

删除

删除

1.5.9. Web 控制台已弃用和删除的功能

Expand
表 1.14. Web 控制台已弃用并删除 tracker
功能4.184.194.20

对动态插件 SDK 的 useModal

公开发行

Deprecated

Deprecated

PatternFly 4

Deprecated

删除

删除

1.5.10. 工作负载已弃用和删除的功能

Expand
表 1.15. 工作负载已弃用和删除的 tracker
功能4.184.194.20

deploymentConfig 对象

Deprecated

Deprecated

Deprecated

1.5.11. 弃用的功能

1.5.11.1. AMD 安全加密虚拟化已弃用

在 Google Cloud 上使用带有 AMD Secure Encrypted Virtualization (AMD SEV)的机密计算已被弃用,并可能在以后的版本中删除。

您可以使用 AMD Secure Encrypted Virtualization Secure Nested Paging (AMD SEV-SNP)替代。

1.5.11.2. Docker v2 registry 已被弃用

对 Docker v2 registry 的支持已弃用,计划在以后的发行版本中删除。在以后的版本中,所有镜像操作都需要支持开放容器项目(OCI)规范的 registry。另外,oc-mirror v2 现在只以 OCI 格式生成自定义目录镜像,而已弃用的 oc-mirror v1 仍然支持 Docker v2 格式。

1.5.11.3. Red Hat Marketplace 已被弃用

Red Hat Marketplace 已被弃用。使用 Marketplace 中的合作伙伴软件的客户应联系软件厂商,了解如何从 Marketplace Operator 迁移到 Red Hat Ecosystem Catalog 中的 Operator。预计在即将发布的 OpenShift Container Platform 发行版本中删除 Marketplace 索引。如需更多信息,请参阅 Sunset of the Red Hat Marketplace, operated by IBM

1.5.11.4. Red Hat Quay Container Security Operator 弃用

Red Hat Quay Container Security Operator 已被弃用,计划在以后的 OpenShift Container Platform 发行版本中删除。Red Hat Quay Container Security Operator 的官方替换产品是 Red Hat Advanced Cluster Security for Kubernetes。

1.5.12. 删除的功能

1.5.12.1. 删除的 Kubernetes API

OpenShift Container Platform 4.20 删除了以下 Kubernetes API。您必须将清单、自动化和 API 客户端迁移到在升级到 4.20 之前使用新的、支持的 API 版本。有关迁移删除 API 的更多信息,请参阅 Kubernetes 文档

Expand
表 1.16. 从 OpenShift Container Platform 4.20 中删除的 Kubernetes API
资源删除的 API迁移到主要变化

MutatingWebhookConfiguration

admissionregistration.k8s.io/v1beta1

admissionregistration.k8s.io/v1

ValidatingAdmissionPolicy

admissionregistration.k8s.io/v1beta1

admissionregistration.k8s.io/v1

ValidatingAdmissionPolicyBinding

admissionregistration.k8s.io/v1beta1

admissionregistration.k8s.io/v1

ValidatingWebhookConfiguration

admissionregistration.k8s.io/v1beta1

admissionregistration.k8s.io/v1

1.6. 程序错误修复

1.6.1. 裸机硬件置备

  • 在此次更新之前,使用安装程序置备的基础架构在裸机上安装双栈集群时,安装会失败,因为 Virtual Media URL 是 IPv4,而不是 IPv6。因为 IPv4 无法访问,所以在虚拟机(VM)和集群节点中 bootstrap 会失败。在这个版本中,当在安装程序置备的基础架构的裸机上安装双栈集群时,双栈集群会使用 Virtual Media URL IPv6,这个问题已解决。(OCPBUGS-60240)
  • 在此次更新之前,当安装裸机作为服务(BMaaS) API 的集群时,会报告一个模糊的验证错误。当您在没有 checksum 的情况下设置镜像 URL 时,BMaaS 无法验证部署镜像源信息。在这个版本中,当您没有为镜像提供所需的 checksum 时,会报告一条清晰的信息。(OCPBUGS-57472)
  • 在此次更新之前,当使用裸机安装集群时,如果没有禁用清理,硬件会在运行 coreos-installer 工具前尝试删除任何软件 RAID 配置。在这个版本中,这个问题已解决。(OCPBUGS-56029)
  • 在此次更新之前,通过使用 Redfish 系统 ID,如 redfish://host/redfish/v1/ 而不是 redfish://host/redfish/v1/Self,在 Baseboard Management Console (BMC) URL 中,报告无效 JSON 的注册错误。这个问题是由 Bare Metal Operator (BMO) 中的一个错误造成的。在这个版本中,BMO 可以在没有 Redfish 系统 ID 作为有效地址的情况下处理 URL,而不会造成 JSON 解析问题。在这个版本中,改进了在 BMC URL 中缺少 Redfish 系统 ID 的软件处理。(OCPBUGS-55717)
  • 在此次更新之前,虚拟介质引导尝试有时会失败,因为 SuperMicro 的一些模型(如 ars-111gl-nhr )使用与其他 SuperMicro 机器不同的虚拟介质设备字符串。在这个版本中,在 sushy 库代码中添加了一个额外的条件检查,以检查受影响的特定模型并调整其行为。因此,Supermicro ars-111gl-nhr 可以从虚拟介质引导。(OCPBUGS-55434)
  • 在此次更新之前,RAM 磁盘日志不包括明文文件分隔符,这偶尔会导致内容在一行中重叠。因此,用户无法解析 RAM 磁盘日志。在这个版本中,RAM Disk 日志包含明确的文件标头,以指示每个文件的内容之间的边界。因此,改进了用户的 RAM 磁盘日志的可读性。(OCPBUGS-55381)
  • 在此次更新之前,在 Ironic Python Agent (IPA)部署期间,metal3-ramdisk-logs 容器中的 RAM 磁盘日志不包括 NetworkManager 日志。缺少 NetworkManager 日志会妨碍有效的调试,这会影响对网络问题的解决。在这个版本中,metal3 pod 的 metal3-ramdisk-logs 容器中现有的 RAM 磁盘日志包括来自主机的整个日志,而不只是 dmesg 和 IPA 日志。因此,IPA 日志提供了全面的 NetworkManager 数据,从而改进了调试过程。(OCPBUGS-55350)
  • 在此次更新之前,当在集群配置中禁用 provisioning 网络时,您可以使用需要网络引导的驱动程序创建一个裸机主机,如智能平台管理接口(IPMI)或没有虚拟介质的 Redfish。因此,检查或置备过程中会出现引导失败,因为无法识别正确的 DHCP 选项。在这个版本中,当您在这种情况下创建裸机主机时,主机注册会失败,在报告的错误中会引用禁用的 provisioning 网络。要创建主机,您必须启用置备网络,或使用基于 virtual-media 的驱动程序,如 Redfish 虚拟介质。(OCPBUGS-54965)

1.6.2. Cloud Compute

  • 在此次更新之前,AWS 计算机器集可以包括 userDataSecret 参数的 null 值。使用 null 值有时会导致机器处于 Provisioning 状态。在这个版本中,userDataSecret 参数需要一个值。(OCPBUGS-55135)
  • 在此次更新之前,使用版本 4.13 或更早版本创建的 AWS 上的 OpenShift Container Platform 集群无法更新到 4.19 版本。使用版本 4.14 及之后的版本创建的集群默认具有 AWS cloud-conf ConfigMap,从 OpenShift Container Platform 4.19 开始需要此 ConfigMap。在这个版本中,当在集群中不存在时,Cloud Controller Manager Operator 会创建一个默认的 cloud-conf ConfigMap。这个更改可让使用版本 4.13 或更早版本创建的集群更新至 4.19 版本。(OCPBUGS-59251)
  • 在此次更新之前,当机器的 InternalDNS 地址没有如预期设置时,在日志中会出现 failed to find machine for node …​。因此,用户可能会将这个错误信息错误地解释为机器不存在。在这个版本中,日志消息变为 failed to find machine with InternalDNS matching …​。因此,用户可以明确地了解到匹配失败的原因。(OCPBUGS-19856)
  • 在以前的版本中,一个程序错误修复更改了可用性集配置,它将故障域计数改为使用最大可用值而不是固定值 2。这会意外地造成在程序错误修复之前创建的计算集群集的扩展问题,因为控制器会尝试修改不可变的可用性集。在这个版本中,可用性集在创建后不再被修改,允许受影响的计算机器集正确进行扩展。(OCPBUGS-56380)
  • 在此次更新之前,从 Cluster API 迁移到 Machine API 的计算机器集会处于 Migrating 状态。因此,计算机器集无法完成转换到使用不同的权威 API 或对 MachineSet 对象状态进行进一步协调。在这个版本中,迁移控制器会监控 Cluster API 资源的更改,并对权威 API 转换做出反应。因此,计算机器集可以成功从 Cluster API 转换到 Machine API。(OCPBUGS-56487)
  • 在此次更新之前,对于 MachineHealthCheck 自定义资源定义(CRD)中的 maxUnhealthy 字段,它不会记录默认值。在这个版本中,CRD 会记录默认值。(OCPBUGS-61314)
  • 在此次更新之前,可以指定在同一机器模板中使用 CapacityReservationsOnly 容量保留行为和 Spot 实例。因此,创建具有这两个不兼容设置的机器。在这个版本中,机器模板的验证可确保同一机器模板中没有使用这两个不兼容的设置。因此,无法创建具有这两个不兼容设置的机器。(OCPBUGS-60943)
  • 在此次更新之前,在支持将 Machine API 资源迁移到 Cluster API 资源的集群中,删除非权威机器不会删除对应的权威机器。因此,应该在集群中被清理的孤立机器会被保留,并可能导致资源泄漏。在这个版本中,删除非权威机器会触发对对应的权威机器删除的传播。因此,在非权威机器上删除请求可以正确地进行连锁处理,防止出现孤立的权威机器并确保机器清理的一致性。(OCPBUGS-55985)
  • 在此次更新之前,在支持将 Machine API 资源迁移到 Cluster API 资源的集群上,Cluster CAPI Operator 可以在 Paused 状态下创建一个权威 Cluster API 计算机器集。因此,新创建的 Cluster API 计算机器集无法协调或扩展机器,即使它使用了权威 API。在这个版本中,Operator 可确保 Cluster API 计算机器集在 Cluster API 具有权威时以非暂停状态创建。因此,新创建的 Cluster API 计算机器集会立即协调,在 Cluster API 有权威时可以继续扩展机器生命周期操作。(OCPBUGS-56604)
  • 在此次更新之前,扩展大量节点会较慢,因为扩展需要对每台机器都进行多次协调,且每台机器都需要被单独协调。在这个版本中,最多可以同时协调十个机器。这提高了扩展期间机器的处理速度。(OCPBUGS-59376)
  • 在此次更新之前,Cluster CAPI Operator 状态控制器使用未排序的相关对象列表,从而导致在没有功能更改时也会进行状态更新。因此,用户可能会因为持续和不必要的状态更新而在 Cluster CAPI Operator 对象及日志中看到大量不重要的信息。在这个版本中,状态控制器逻辑在比较变化时,会首先对相关对象列表进行排序。因此,只有在 Operator 状态有变化时才会发生状态更新。(OCPBUGS-56805,OCPBUGS-58880)
  • 在此次更新之前,Cloud Controller Manager Operator 的 config-sync-controller 组件不会显示日志。这个问题已在本发行版本中解决。(OCPBUGS-56508)
  • 在此次更新之前,Control Plane Machine Set 配置使用来自计算机器集的可用区。这不是一个有效的配置。因此,当 control plane 机器在一个单一区而计算机器集跨多个区时,将无法生成 Control Plane Machine Set。在这个版本中,Control Plane Machine Set 会根据现有的 control plane 机器生成可用区配置。因此,Control Plane Machine Set 会生成有效的区配置,它准确反映当前的 control plane 机器。(OCPBUGS-52448)
  • 在此次更新之前,注解 Machine API 机器集的控制器不会在添加 scale-from-zero 注解前检查 Machine API 是否具有权威。因此,控制器会重复添加这些注解,并导致对 MachineSet 对象的持续更改循环。在这个版本中,控制器会在添加 scale-from-zero 注解前检查 authoritativeAPI 字段的值。因此,当 Machine API 具有权威时,控制器只会将这些注解添加到 Machine API 计算机器集中来避免循环行为。(OCPBUGS-57581)
  • 在此次更新之前,Machine API Operator 会尝试在 AWS 以外的平台协调 Machine 资源,其中 .status.authoritativeAPI 字段没有被填充。因此,计算机器会无限期地处于 Provisioning 状态,永远无法正常工作。在这个版本中,Machine API Operator 会使用机器规格中的对应值填充空的 .status.authoritativeAPI 字段。另外,在控制器中添加了一个保护机制来处理此字段可能仍为空的情况。因此,MachineMachineSet 资源会被正确协调,计算机器不再无限期处于 Provisioning 状态。(OCPBUGS-56849)
  • 在此次更新之前,Machine API Provider Azure 使用旧版本的 Azure SDK,它使用一个不支持引用 Capacity Reservation 组的旧 API 版本。因此,在另一个订阅中创建引用 Capacity Reservation 组的 Machine API 机器会导致 Azure API 错误。在这个版本中,Machine API Provider Azure 使用支持此配置的 Azure SDK 版本。因此,在另一个订阅中创建引用 Capacity Reservation 组的 Machine API 机器可以正常工作。(OCPBUGS-55372)
  • 在此次更新之前,在支持将 Machine API 资源迁移到 Cluster API 资源的集群上的双向同步控制器在将一个权威 Cluster API 机器模板转换为 Machine API 机器集时,没有正确比较机器规格。因此,对 Cluster API 机器模板规格的更改不会同步到 Machine API 机器集。在这个版本中,比较逻辑以进行了修改,从而解决了这个问题。因此,Cluster API 机器集引用新的 Cluster API 机器模板后,Machine API 机器集会正确同步。(OCPBUGS-56010)
  • 在此次更新之前,支持将 Machine API 资源迁移到 Cluster API 资源的集群上双向同步控制器不会在删除对应的 Machine API 机器集时删除机器模板。因此,不需要的集群 API 机器模板会保留在集群中,并使 openshift-cluster-api 命名空间变得非常混乱。在这个版本中,双向同步控制器可以正确地处理机器模板的删除同步。因此,删除 Machine API 权威机器集会删除对应的 Cluster API 机器模板。(OCPBUGS-57195)
  • 在此次更新之前,支持将 Machine API 资源迁移到 Cluster API 资源的集群上双向同步控制器会持续报告成功迁移。因此,如果在更新相关对象状态时发生错误,则不会进行重试操作。在这个版本中,控制器会确保,在报告一个成功状态前写入所有相关对象状态。因此,控制器会更好地处理迁移期间的错误。(OCPBUGS-57040)

1.6.3. Cloud Credential Operator

  • 在此次更新之前,ccoctl 命令在通过 Microsoft Entra Workload ID 创建 OpenID Connect (OIDC)签发者和受管身份时,不需要使用 baseDomainResourceGroupName 参数。因此,当 ccoctl 试图创建私有集群时会显示一个错误。在这个版本中,baseDomainResourceGroupName 参数已被删除。因此,在 Microsoft Azure 上创建私有集群的过程与预期一致。(OCPBUGS-34993)

1.6.4. Cluster Autoscaler

  • 在此次更新之前,集群自动扩展会尝试包含处于删除状态的机器对象。因此,机器的集群自动扩展计数不准确。此问题会导致集群自动扩展添加了不需要的额外污点。在这个版本中,自动扩展会准确计算机器。(OCPBUGS-60035)
  • 在此次更新之前,当您使用在集群中启用 Cluster Autoscaler Operator 创建集群自动扩展对象时,openshift-machine-api 有两个 cluster-autoscaler-default pod 有时会同时创建,其中一个 pod 会立即终止。在这个版本中,只创建一个 pod。(OCPBUGS-57041)

1.6.5. Cluster Version Operator

  • 在此更新之前,ClusterVersion 条件的状态可能会错误地显示 ImplicitlyEnabled 而不是 ImplicitlyEnabledCapabilities。在这个版本中,ClusterVersion 条件类型已被修复,从 ImplicitlyEnabled 改为 ImplicitlyEnabledCapabilities。(OCPBUGS-56114)

1.6.6. config-operator

  • 在此次更新之前,集群会错误地切换到 CustomNoUpgrade 状态,且没有正确的 featureGate 配置。因此,会出现空的 featureGates,以及后续的控制器 panic。在这个版本中,CustomNoUpgrade 集群状态的 featureGate 配置与默认值匹配,这可防止空的 featureGates 以及后续的控制器 panic。(OCPBUGS-57187)

1.6.7. Dev 控制台

  • 在此次更新之前,快速入门 页中的一些条目会显示重复的链接按钮。在这个版本中,重复的部分会被删除,链接按钮会被正确显示。(OCPBUGS-60373)
  • 在此次更新之前,当您第一次登录时显示的 onboarding 模态缺少了以下可视化的内容和图标,使得模态消息不明确。在这个版本中,缺少的元素被添加到模态中。因此,onboard 过程提供了与整个控制台设计一致的完整可视化体验。(OCPBUGS-57392)
  • 在此次更新之前,在 YAML 编辑器中导入多个文件复制了现有内容,并附加创建重复的新文件。在这个版本中,导入行为已被修复。因此,YAML 编辑器只显示新的文件内容,而没有重复。(OCPBUGS-45297)
  • 在此更新之前,ClusterVersion 条件的状态可能会错误地显示 ImplicitlyEnabled 而不是 ImplicitlyEnabledCapabilities。在这个版本中,ClusterVersion 条件类型已被修复,从 ImplicitlyEnabled 改为 ImplicitlyEnabledCapabilities。(OCPBUGS-56114)

1.6.8. etcd

  • 在此次更新之前,一个 etcd 成员上的超时会导致超过上下文的期限。因此,所有成员都声明为不健康,即使有些成员可以被访问。在这个版本中,如果一个成员超时,不会将其他成员错误地标记为不健康。(OCPBUGS-60941)
  • 在此次更新之前,当部署在主接口上有多个 IP 的单节点 OpenShift 时,etcd 证书中的 IP 与 API 服务器用于连接到 etcd 的配置映射中的 IP 不匹配。因此,API 服务器 pod 在单节点 OpenShift 部署期间失败,这会导致集群初始化问题。在这个版本中,etcd 配置映射中的单一 IP 与单节点 OpenShift 部署的证书中的 IP 匹配。因此,API 服务器使用 etcd 证书中包含的正确 IP 连接到 etcd,这可防止在集群初始化过程中 pod 失败。(OCPBUGS-55404)
  • 在此次更新之前,在 API 服务器临时停机期间,Cluster etcd Operator 会报告不正确的信息,如 openshift-etcd 命名空间不存在的信息。在这个版本中,Cluster etcd Operator 状态信息可以正确地表示 API 服务器不可用,而不是建议没有 openshift-etcd 命名空间。因此,Cluster etcd Operator 状态会准确反映 openshift-etcd 命名空间是否存在,从而提高系统可靠性。(OCPBUGS-44570)

1.6.9. 扩展 (OLM v1)

  • 在此次更新之前,如果 OLM v1 中的 preflight 自定义资源定义(CRD)安全检查会在 CRD 的 description 字段中检测到更改时阻止更新。在这个版本中,当文档字段有变化时,preflight CRD 安全检查不会阻止更新。(OCPBUGS-55051)
  • 在此次更新之前,catalogd 和 Operator Controller 组件没有在 OpenShift CLI (oc)中显示正确的版本并提交信息。在这个版本中,会显示正确的提交和版本信息。(OCPBUGS-23055)

1.6.10. 安装程序

  • 在此次更新之前,当在 IBM Power® Virtual Server 上安装 Konflux-built 集群时,安装可能会因为语义版本(SemVer)解析错误而失败。在这个版本中,解析问题已解决,安装可以成功进行。(OCPBUGS-61120)
  • 在此次更新之前,当使用用户置备的基础架构在 Azure Stack Hub 上安装集群时,将无法创建 API 和 API-int 负载均衡器。因此,安装会失败。在这个版本中,用户置备的基础架构模板会被更新,以便创建负载均衡器。因此,安装可以成功。(OCPBUGS-60545)
  • 在此次更新之前,当您在 Google Cloud 上安装集群时,安装程序会读取并处理 install-config.yaml 文件,即使报告了一个不可恢复的错误,也不会找到匹配的公共 DNS 区域。这个错误是因为一个无效的 baseDomain 参数造成的。因此,集群管理员会不必要地重新创建 install-config.yaml 文件。在这个版本中,当安装程序报告这个错误时,安装探测不会读取并处理 install-config.yaml 文件。(OCPBUGS-59430)
  • 在此次更新之前,IBM Cloud 在验证代码中支持单节点 OpenShift 安装的平台列表中被省略。因此,用户无法因为验证错误在 IBM Cloud 上安装单节点配置。在这个版本中,IBM Cloud 对单节点安装的支持被启用。因此,用户可以在 IBM Cloud 上完成单节点安装。(OCPBUGS-59220)
  • 在此次更新之前,在用户置备的基础架构上的 platform: None 中安装单节 OpenShift 不被支持,安装会失败。在这个版本中,在 platform: None 上支持单节点 OpenShift 安装。(OCPBUGS-58216)
  • 在此次更新之前,当在 Amazon Web Services (AWS)上安装 OpenShift Container Platform 时,用于禁用引导镜像管理的 Machine Config Operator (MCO)无法检查边缘计算机器机器池。在确定是否禁用引导镜像管理时,安装探测只检查 install-config.yaml 中的第一个计算机器池条目。因此,当指定多个计算池,但只有第二个计算池具有自定义 Amazon Machine Image (AMI) 时,安装程序不会禁用 MCO 引导镜像管理,MCO 可能会覆盖自定义 AMI。在这个版本中,安装程序会检查自定义镜像的所有边缘计算机器池。因此,当在任何机器池中指定自定义镜像时,引导镜像管理被禁用。(OCPBUGS-57803)
  • 在此次更新之前,在使用单节点 OpenShift 部署时,基于代理的安装程序将 etcd 目录 /var/lib/etcd/member 的权限设置为 0755 而不是 0700,在多节点部署中可以正确设置。在这个版本中,对于单节点 OpenShift 部署,etcd 目录 /var/lib/etcd/member 权限被设置为 0700。(OCPBUGS-57201)
  • 在此次更新之前,当您使用基于代理的安装程序时,在转义网络管理器文本用户界面(TUI)后立即按 TAB 键,有时无法注册,这会导致光标保留在 Configure Network 中,而不是移到 Quit。因此,您无法退出代理控制台应用程序,它用于验证当前主机是否可以检索发行镜像。在这个版本中,TAB 键总会正确注册。(OCPBUGS-56934)
  • 在此次更新之前,当您使用基于代理的安装程序时,退出 NetworkManager TUI 有时会出现一个空白屏幕,而不是显示错误或继续安装。在这个版本中,不会显示空白屏幕。(OCPBUGS-56880)
  • 在此次更新之前,当在 AWS 上安装集群时,如果您在运行任何 openshift-install create 命令前没有配置 AWS 凭证,安装程序会失败。在这个版本中,在运行任何 openshift-install create 命令前没有配置 AWS 凭证,则安装不会失败。(OCPBUGS-56658)
  • 在此次更新之前,当 API VIP 和入口 VIP 使用一个负载均衡器 IP 地址时,在 VMware vSphere 上安装集群会失败。在这个版本中,API VIP 和入口 VIP 在 machineNetworks 中可以被区分,这个问题已解决。(OCPBUGS-56601)
  • 在此次更新之前,当使用基于代理的安装程序时,设置 additionalTrustBundlePolicy 字段将无效。因此,其他覆盖(如 fips 参数)会被忽略。在这个版本中,additionalTrustBundlePolicy 参数会被正确导入,其他覆盖不会被忽略。(OCPBUGS-56596)
  • 在此次更新之前,在 VMware vSphere 的集群销毁逻辑中缺少详细的日志信息,这意味没有明确的虚拟机(VM)无法正确删除的原因。另外,缺少电源状态信息可能会导致 destroy 操作进入一个无限的循环。在这个版本中,destroy 操作的日志已被改进,它明确指明了特定清理操作开始的开始时间,并包含 vCenter 名称,它还会在操作无法找到虚拟机时显示一个警告。因此,destroy 进程所提供的日志包括了详细的可操作的信息。(OCPBUGS-56262)
  • 在此次更新之前,当您使用基于代理的安装程序在断开连接的环境中安装集群时,退出 NetworkManager 文本用户界面(TUI) 会返回到代理控制台应用程序,它检查是否可以从 registry 中拉取发行镜像。在这个版本中,当您退出 NetworkManager TUI 时,不会返回到代理控制台应用程序。(OCPBUGS-56223)
  • 在此次更新之前,基于代理的安装程序不会验证用来启用磁盘加密的值,这可能导致磁盘加密无法被启用。在这个版本中,会在镜像创建过程中会验证正确的磁盘加密值。(OCPBUGS-54885)
  • 在此次更新之前,包含 vSphere 连接配置的资源可能会因为 UI 和 API 不匹配而被破坏。在这个版本中,UI 使用更新的 API 定义。(OCPBUGS-54434)
  • 在此次更新之前,当使用基于代理的安装程序时,在生成 ISO 镜像时不会执行一些 hostPrefix 参数验证检查。因此,只有在用户无法使用 ISO 引导时,才会检测到无效的 hostPrefix 值。在这个版本中,在 ISO 生成过程中会执行这些验证检查,并会在无法通过验证时立即失败。(OCPBUGS-53473)
  • 在此次更新之前,基于代理的安装程序中的一些 systemd 服务会在停止后继续运行,这会导致在集群安装过程中造成日志消息混淆。在这个版本中,这些服务会被正确停止。(OCPBUGS-53107)
  • 在此次更新之前,如果在安装集群时删除了 Microsoft Azure 集群的代理配置,程序会报告一个不可读的错误,代理连接会超时。在这个版本中,当安装集群时删除集群的代理配置时,程序会报告一个可读的错误消息,并解决了这个问题。(OCPBUGS-45805)
  • 在此次更新之前,在安装完成后,基于代理的安装程序生成的 kubeconfig 文件没有包含入口路由器证书颁发机构(CA)。在这个版本中,kubeconfig 文件包含了集群安装后的入口路由器 CA。(OCPBUGS-45256)
  • 在此次更新之前,基于代理的安装程序会声明完整的集群安装,而没有首先检查 Operator 是否处于稳定状态。因此,即使有存在问题的 Operator,也会显示完成安装的信息。在这个版本中,基于代理的安装程序会在声明集群安装完成前等待所有 Operator 都处于稳定状态。(OCPBUGS-18658)
  • 在此次更新之前,安装程序不会阻止您在安装程序置备的基础架构上的裸机上安装单节点 OpenShift。因此,安装会失败,因为这类安装不被支持。在这个版本中,OpenShift Container Platform 会阻止在不支持的平台上安装单节点 OpenShift 集群。(OCPBUGS-6508)

1.6.11. Kube Controller Manager

  • 在此次更新之前,当提供了无效的卷类型时,cluster-policy-controller 会崩溃。在这个版本中,代码不再 panic。因此,cluster-policy-controller 会记录一个错误来告知卷类型无效。(OCPBUGS-62053)
  • 在此次更新之前,cluster-policy-controller 容器会为所有网络公开 10357 端口(绑定地址被设置为 0.0.0.0)。端口在节点的主机网络之外公开,因为 KCM pod 清单将 'hostNetwork' 设置为 true。此端口仅用于容器的探测目的。在这个版本中,绑定地址已被更新,以仅侦听 localhost。因此,节点安全性有所改进,因为端口不会在节点网络外公开。(OCPBUGS-53290)

1.6.12. Kubernetes API 服务器

  • 在此次更新之前,并发映射迭代和 kube-apiserver 验证会导致崩溃。因此,API 服务器中断并会出现 list watch 风暴的情况。在这个版本中,并发映射迭代和验证问题已解决。因此,可以防止出现 API 服务器崩溃,集群稳定性会被改进。(OCPBUGS-61347)
  • 在此次更新之前,资源数量和 IntOrString 字段验证成本被错误地计算,因为 Common Expression Language (CEL)验证中的最大字段长度不正确。因此,用户会因为 CEL 验证中不正确的字符串长度遇到验证错误的问题。在这个版本中,CEL 验证帐户会正确处理 IntOrString 字段的最大长度。因此,用户可以提交有效的资源请求,而不会出现 CEL 验证错误。(OCPBUGS-59756)
  • 在此次更新之前,node-system-admin-signer 有效期被限制为一年,且在 2.5 年时没有被扩展或刷新。这个问题会导致两年内无法发出 node-system-admin-client。在这个版本中,node-system-admin-signer 有效期被延长到三年,并启用了在 2 年期内发布 node-system-admin-client 的功能。(OCPBUGS-59527)
  • 在此次更新之前,因为与 ShortCertRotation 功能门不兼容,在 IBM 和 Microsoft Azure 系统中集群安装失败。因此,集群安装失败,并导致节点处于离线状态。在这个版本中,在 IBM 和 Microsoft Azure 系统上的集群安装过程中删除了 ShortCertRotation 功能门。因此,集群安装在这些平台上可以成功。(OCPBUGS-57202)
  • 在此次更新之前,OpenShift Container Platform 版本 4.17 中错误地提供了 admissionregistration.k8s.io/v1beta1 API,尽管它们旨在弃用和删除。这会导致用户的依赖项问题。在这个版本中,已弃用的 API 过滤在阶段移除中注册,需要管理确认进行升级。因此,用户不会在 OpenShift Container Platform 版本 4.20 中遇到已弃用的 API 错误,系统稳定性有所改进。(OCPBUGS-55465)
  • 在此次更新之前,证书轮转控制器复制并重写其所有更改,并导致过量事件垃圾邮件。因此,用户会出现过量事件垃圾邮件和潜在的 etcd 过载。在这个版本中,证书轮转控制器冲突会被解决,并减少了过量的事件垃圾邮件。因此,证书轮转控制器中的过量事件 spam 已被解决,减少了 etcd 上的负载,并改进了系统稳定性。(OCPBUGS-55217)
  • 在此次更新之前,在启用 WriteRequestBodies 配置集设置后,用户 secret 会被记录在审计日志中。因此,在审计日志中可以看到敏感数据。在这个版本中,MachineConfig 对象已从审计日志响应中删除,并防止记录用户的 secret。因此,secret 和凭证不会出现在审计日志中。(OCPBUGS-52466)
  • 在此次更新之前,使用 synthesized 方法测试 Operator 条件,而不是使用部署控制器部署和调度 pod 会导致测试结果不正确。因此,因为使用 synthesized 条件而不是实际 pod 创建,用户会出现测试失败的情况。在这个版本中,Kubernetes 部署控制器用于测试 Operator 条件,并改进了 pod 部署可靠性。(OCPBUGS-43777)

1.6.13. Machine Config Operator

  • 在此次更新之前,外部操作程序可能会取消协调 Machine Config Operator (MCO) 排空的节点。因此,MCO 和调度程序会同时调度和取消调度 pod,从而延长了排空过程。在这个版本中,如果外部在排空过程中取消协调,MCO 会尝试记录该节点。因此,MCO 和调度程序不再同时调度和删除 pod。(OCPBUGS-61516)
  • 在此次更新之前,在从 OpenShift Container Platform 4.18.21 更新至 OpenShift Container Platform 4.19.6 时,因为在一个或多个机器集的 capacity.cluster-autoscaler.kubernetes.io/labels 注解中有多个标签,Machine Config Operator (MCO) 会失败。在这个版本中,MCO 接受 capacity.cluster-autoscaler.kubernetes.io/labels 注解中的多个标签,在升级到 OpenShift Container Platform 4.19.6 过程中不再会失败。(OCPBUGS-60119)
  • 在此次更新之前,因为缺少基础架构状态字段,在 Azure Red Hat OpenShift (ARO) 升级到 4.19 时,Machine Config Operator (MCO) 证书管理会失败。因此,证书会在没有所需的存储区域网络(SAN) IP 的情况下刷新,从而导致升级 ARO 集群的连接问题。在这个版本中,MCO 在 ARO 中的证书管理过程中添加并保留 SAN IP,防止在升级到 4.19 时立即轮转。(OCPBUGS-59780)
  • 在此次更新之前,当从 4.15 之前的 OpenShift Container Platform 版本进行更新时,MachineNode 自定义资源定义(CRD) 功能作为技术预览 (TP) 被安装,这会导致更新失败。此功能在 OpenShift Container Platform 4.16 中完全引入。在这个版本中,更新不再部署技术预览 CRD,确保可以成功升级。(OCPBUGS-59723)
  • 在此次更新之前,Machine Config Operator (MCO) 会在不检查当前引导镜像是否来自 Google Cloud 或 Amazon Web Services (AWS) Marketplace 的情况下更新节点引导镜像。因此,MCO 将使用标准 OpenShift Container Platform 镜像覆盖 marketplace 引导镜像。在这个版本中,对于 AWS 镜像,MCO 有一个查找表,其中包含了所有标准 OpenShift Container Platform 安装程序 Advanced Metering Infrastructures (AMI),它会在更新引导镜像前使用其它中的内容。对于 Google Cloud 镜像,MCO 会在更新引导镜像前检查 URL 标头。因此,MCO 不再更新具有 marketplace 引导镜像的机器集。(OCPBUGS-57426)
  • 在此次更新之前,在镜像拉取更新的基础操作系统(OS)镜像前,OpenShift Container Platform 会更新对 Core DNS 模板的更改会重启 coredns pod。因此,在操作系统更新管理器因为网络错误导致镜像拉取失败,从而导致更新停止。在这个版本中,在 Machine Config Operator (MCO)中添加了重试更新操作来临时解决这个问题。OCPBUGS-43406

1.6.14. 管理控制台

  • 在此次更新之前,Web 控制台中的 YAML 编辑器将默认为使用 4 个空格的缩进 YAML 文件。在这个版本中,默认的缩进已改为 2 个空格,使其与建议一致。(OCPBUGS-61990)
  • 在此次更新之前,在 web 控制台中扩展终端会导致会话关闭,因为 OpenShift Container Platform 徽标和标头重叠了终端视图。在这个版本中,终端布局已被修复,它会正确扩展。因此,您可以扩展或折叠终端,而不会出现连接丢失或输入中断的情况。(OCPBUGS-61819)
  • 在此次更新之前,在没有所需状态 cookie 的情况下访问 /auth/error 页会显示一个空白页,并没有显示错误详情。在这个版本中,前端代码中改进了错误处理。因此,/auth/error 页会显示错误内容,以便更轻松地诊断和解决问题。(OCPBUGS-60912)
  • 在此次更新之前,PersistentVolumeClaim 操作菜单中的项目顺序没有被定义,从而导致 Delete PersistentVolumeClaim 选项显示在列表中间。在这个版本中,选项被重新排序,因此它现在显示在菜单中。因此,操作列表一致且更易于导航。(OCPBUGS-60756)
  • 在此次更新之前,点 Build 日志页上的 Download log 会在下载文件名中添加 undefined,点 Raw logs 不会在新标签页中打开原始日志。在这个版本中,文件名已被修正,确保点 Raw logs 会如期打开原始日志。(OCPBUGS-60753)
  • 在此次更新之前,在 OpenShift 控制台表单字段中输入错误的值会导致显示多个感叹号图标。在这个版本中,当一个字段值无效时,只显示一个图标。现在,所有字段中的错误消息都会明确显示。(OCPBUGS-60428)
  • 在此次更新之前,快速入门页中的一些条目会显示重复的链接按钮。在这个版本中,重复会被删除,链接现在会如预期显示,从而导致更干净和更清晰的页布局。(OCPBUGS-60373)
  • 在此次更新之前,控制台在向浏览器发送页面时包含过时的安全指令 X-XSS-Protection。在这个版本中,指令被删除。因此,控制台在现代浏览器中可以安全运行。(OCPBUGS-60130)
  • 在此次更新之前,事件页中的错误消息会错误地显示占位符 "{ error }" 而不是错误消息。在这个版本中,会正确显示错误消息。(OCPBUGS-60010)
  • 在此次更新之前,控制台会显示受管 CatalogSource 对象的 Registry poll interval 下拉菜单,但您所做的任何更改都会被自动恢复。在这个版本中,受管源的下拉菜单是隐藏的。因此,控制台不再显示无法应用的菜单选项。(OCPBUGS-59725)
  • 在此次更新之前,选择来自镜像页的 Deploy 的 Resource 菜单会导致视图因为不正确的焦点处理而跳到页的顶部。在这个版本中,焦点行为已被修正,因此在打开菜单时页面会保持不变。因此,在选择时您的滚动位置会被保留。(OCPBUGS-59586)
  • 在此次更新之前,当没有项目时 Get started 消息会占用太多空间,使得 No resources found 信息无法完全显示。这个版本减少了 Get started 消息占用的空间。现在,所有信息都会在页中完全显示。(OCPBUGS-59483)
  • 在此次更新之前,console-crontab-plugin.json 中的 properties 中不正确的嵌套 flags 会导致插件中断。在这个版本中,JSON 文件中的嵌套已被修复,解决了与 OCPBUGS-58858 的冲突。现在,插件会正确加载并显示 CronTab。(OCPBUGS-59418)
  • 在此次更新之前,从控制台启动作业始终将其 backoffLimit 重置为 6,覆盖您配置的值。在这个版本中,当您在控制台中启动作业时,配置的 backoffLimit 会被保留。因此,作业的行为在控制台和 CLI 之间保持一致。(OCPBUGS-59382)
  • 在此次更新之前,YAML 编辑器组件无法处理一些边缘情况,因为无法将内容解析到 JavaScript 对象中,这会导致在某些情况下出现错误。在这个版本中,组件已被更新以可靠地处理这些边缘情况,不再发生错误。(OCPBUGS-59196)
  • 在此次更新之前,即使查看单个项目,在 MachineSets 列表页中也会显示 Namespace 列,因为代码没有正确处理列的范围。在这个版本中,列逻辑已被修复。因此,MachineSets 列表不再显示项目范围视图的 Namespace 列。(OCPBUGS-58334)
  • 在此次更新之前,进入到带有 href 中多个 path 元素的存储类页会显示一个空白标签页。在这个版本中,插件已被修复,标签页内容会在切换后正确显示。因此,存储类页不再显示空白标签页。(OCPBUGS-58258)
  • 在此次更新之前,编辑带有 ContainerResource 类型的 HorizontalPodAutoscaler (HPA)会导致运行时错误,因为代码没有定义 e.resource 变量。在这个版本中,定义了 e.resource,运行时错误会在表单编辑器中修复。因此,使用 ContainerResource 类型编辑 HPA 不再会失败。(OCPBUGS-58208)
  • 在此次更新之前,ConsoleConfig ConfigMap 中的 TELEMETER_CLIENT_DISABLED 设置会导致遥测中的差距,并限制了故障排除。在这个版本中,遥测客户端会被临时禁用来解决 "Too Many Requests" 错误。因此,遥测数据会被可靠地收集,从而删除故障排除的限制。(OCPBUGS-58094)
  • 在此次更新之前,点 AlertmanagerReceiversNotConfigured 中的 Configure 会失败,并带有 navigate is not a function 错误,因为代码没有正确处理配置。在这个版本中,这个问题已被解决。因此,AlertmanagerReceiversNotConfigured 现在会如预期打开。(OCPBUGS-56986)
  • 在此次更新之前,当 CronTab 资源在其 spec 中缺少可选条目时,CronTab 列表页会返回错误,因为控制台没有正确验证它们。本发行版本中添加了必要的验证。因此,即使一些 spec 字段没有被定义,CronTab 列表页也会正确加载。(OCPBUGS-56830)
  • 在此次更新之前,没有项目的用户只会看到 Roles 列表中的一部分,因为基于角色的访问控制(RBAC)权限不足。在这个版本中,访问逻辑已被修复。限制,用户无法打开 Roles 页,以保持敏感数据的安全。(OCPBUGS-56707)
  • 在这个版本前,当 Quick Starts 页中没有快速入门时,会显示纯文本信息。在这个版本中,集群管理员被授予添加或管理快速入门的操作。(OCPBUGS-56629))
  • 在此次更新之前,生成的控制台动态插件 API 文档使用错误的 k8s 实用程序功能名称,如 k8sGetResource 而不是 k8sGet。在这个版本中,文档使用正确的功能名称及其导出名称别名。因此,对于使用 k8s 工具功能的控制台动态插件开发人员,API 文档更清晰。(OCPBUGS-56248)
  • 在此次更新之前,部署和部署配置菜单中的未使用代码会导致显示不必要的菜单项。在这个版本中,未使用的菜单项定义会被删除,提高代码可维护性,并减少了在将来的更新中出现潜在的问题。(OCPBUGS-56245)
  • 在此次更新之前,/metrics 端点无法从内部 Prometheus 提取请求上的授权标头正确解析 bearer 令牌,这会导致 TokenReview 失败,并且所有这些请求都拒绝 401 响应。这为控制台指标端点触发了 TargetDown 警报。在这个版本中,指标端点处理程序已被更新,从 TokenReview 的授权标头中正确解析 bearer 令牌。这使得 TokenReview 步骤的行为如预期,并解决了 TargetDown 警报。(OCPBUGS-56148)
  • 在此次更新之前,当您访问控制台的节点时,创建没有磁盘的节点会触发 JavaScript TypeError。在这个版本中,filter 属性会正确初始化。因此,节点列表会显示没有错误。(OCPBUGS-56050)
  • 在此次更新之前,VirtualizedTable 隐藏了较小的屏幕上的 Started 列,这会影响到默认的排序并破坏 PipelineRun 列表。在这个版本中,默认的排序列根据屏幕大小进行调整,从而防止表出现问题。因此,PipelineRun 列表页保持稳定,并在较小的屏幕上正确显示。(OCPBUGS-56044)
  • 在此次更新之前,集群切换程序允许用户通过选择 All Clusters 选项来访问 Red Hat Advanced Cluster Management (RHACM)。在这个版本中,通过选择 Fleet Management 视角从视角选择器访问 RHACM。(OCPBUGS-55946)
  • 在此次更新之前,web 控制台在版本 4.16 及更高版本中显示 60 天更新限制的过时消息,即使删除了这个限制。在这个版本中,过时的消息已被删除。因此,Web 控制台只显示当前更新的信息。(OCPBUGS-55919)
  • 在此次更新之前,web 控制台主页会显示 Info 警报的错误图标,这会导致警报严重性不匹配。在这个版本中,严重性图标已被修复,它们可以正确地匹配。因此,控制台会明确显示警报的严重性。(OCPBUGS-55806)
  • 在此次更新之前,依赖项问题会阻止 Console Operator 包含 Cloud Service Provider (CSP) API 所需的 FeatureGate 资源。在这个版本中,缺少的 FeatureGate 资源被添加到 openshift/api 依赖项中。因此,CSP API 现在可以在控制台中正常工作。(OCPBUGS-55698)
  • 在此次更新之前,点通知抽屉的 Critical 警报部分中的抽拉部门没有任何效果,该部分会一致保持为扩展状态。在这个版本中,抽拉部分已被修复。现在,当出现关键警报时,您可以对这个部分进行折叠。(OCPBUGS-55633)
  • 在此次更新之前,额外的 HTTP 客户端配置会增加插件初始加载时间,这会减慢整体 OpenShift Container Platform 性能。在这个版本中,客户端配置已被修复,减少了插件负载时间并改进页面负载速度。(OCPBUGS-55514)
  • 在此次更新之前,自定义 masthead 徽标替换了所有主题中的默认 OpenShift 徽标,即使将 light theme 设置为使用默认值。在这个版本中,恢复了正确的行为,在没有设置自定义徽标时,默认的 OpenShift 徽标会显示在 lightme 中。现在,徽标会在 light 和 dark 主题中正确显示,从而提高了视觉一致性。(OCPBUGS-55208)
  • 在此次更新之前,因为延迟同步,在 Console Operator 配置中更改或删除自定义徽标会在 openshift-console 命名空间中保留过时的 ConfigMap。在这个版本中,当自定义徽标配置更改时,控制台操作器会删除这些过时的 ConfigMap。因此,openshift-console 命名空间中的 ConfigMap 保持准确且最新。(OCPBUGS-54780)
  • 在此次更新之前,Raw logs 页会错误地解码中文日志消息,使其不可读。在这个版本中,解码已被修正。现在,该页可以正确地显示中文日志消息。(OCPBUGS-52165)
  • 在此次更新之前,在 Networking 页中打开一个模态会导致一些 web 控制台插件面板,如 OpenShift Lightspeed UITroubleshooting 面板消失。在这个版本中,在网络模式和 web 控制台插件之间解决冲突。因此,Network 页中的模态不再隐藏其他控制台面板。(OCPBUGS-49709)
  • 在此次更新之前,当使用 JSON 输入在本地运行时,控制台服务器无法正确处理内容安全策略(CSP)指令,因为它不支持 MultiValue 类型。在这个版本中,控制台接受 CSP 指令作为 MultiValue 而不是 JSON 进行本地使用。现在,您可以在控制台开发过程中更轻松地传递单独的 CSP 指令。(OCPBUGS-49291)
  • 在此次更新之前,在 YAML 编辑器中导入多个文件复制了现有内容并附加新文件,创建重复。在这个版本中,导入行为已被修复。因此,YAML 编辑器只显示新的文件内容,而没有重复。(OCPBUGS-45297)
  • 在此次更新之前,只有一个使用 CreateProjectModal 扩展的插件可能会显示其模态,从而导致多个插件使用相同的扩展点时造成冲突。因此,无法控制呈现哪些插件扩展。在这个版本中,插件扩展会按照与集群控制台 Operator 配置中定义的顺序相同。因此,管理员可以通过重新排序列表来控制在控制台中显示哪些 CreateProjectModal 扩展。(OCPBUGS-43792)
  • 在此次更新之前,控制台不显示 ResourceYAMLEditor 属性定义的标头,因此在没有它的情况下打开 YAML 视图。在这个版本中,属性已被修复。因此,所有标头(如 Simple pod )现在可以正确地显示。(OCPBUGS-32157)

1.6.15. 监控

  • 在此次更新之前,KubeNodeNotReadyKubeNodeReadinessFlapping 警报不会过滤掉 cordoned 节点。因此,用户会在维护下收到节点警报,从而导致假的正状态。在这个版本中,cordoned 节点会根据警报过滤。因此,维护期间的假正结果会减少。OCPBUGS-60692
  • 在此次更新之前,KubeAggregatedAPIErrors 警报基于 API 的所有实例中的错误总和。因此,用户可能会因为实例数量增加而获得警报。在这个版本中,警报在实例级别评估,而不是 API 级别。因此,这可减少因为 API 错误阈值因为被评估了集群范围而更快地达到的假警报数量。OCPBUGS-60691
  • 在此次更新之前,当 StatefulSet 控制器创建 pod 失败时,KubeStatefulSet ReplicasMismatch 警报不会触发。因此,当 StatefulSet 无法访问所需的副本数时,用户不会被通知。在这个版本中,当控制器无法创建 pod 时,警报会正确触发。因此,每当 StatefulSet 副本与配置的数量不匹配时,用户会被警报。OCPBUGS-60689
  • 在此次更新之前,Cluster Monitoring Operator 会记录有关不安全传输层安全(TLS)密码的警告,这可能会引发安全性问题。在这个版本中,配置了安全 TLS 设置,从日志中删除密码警告,并确保 Operator 报告正确的安全 TLS 配置。OCPBUGS-58475
  • 在此次更新之前,OpenShift Container Platform Web 控制台中的监控仪表板有时会显示大量负 CPU 使用率值,因为有关中间结果的假设不正确。因此,用户可以在 web 控制台中看到负的 CPU 使用率。在这个版本中,CPU 使用率值会被正确计算,Web 控制台不再显示负利用率值。OCPBUGS-57481
  • 在此次更新之前,当在任何命名空间中创建或更新新 secret 时,Alertmanager 会进行协调,即使 secret 没有在 AlertmanagerConfig 资源中引用。因此,Prometheus Operator 会生成过量 API 调用,从而导致 control plane 节点上的 CPU 使用量增加。在这个版本中,Alertmanager 只会协调在 AlertmanagerConfig 资源中显式引用的 secret。(OCPBUGS-56158)
  • 在此次更新之前,指标服务器会记录以下警告,即使功能不受影响:

    setting componentGlobalsRegistry in SetFallback. We recommend calling componentGlobalsRegistry.Set() right after parsing flags to avoid using feature gates before their final values are set by the flags.

    在这个版本中,警告信息不再出现在 metrics-server 日志中。OCPBUGS-41851

  • 在此次更新之前,即使 CPU 消耗超过允许的限制,KubeCPUOvercommit 警报不会在多节点集群上触发。在这个版本中,警报表达式被调整为正确考虑多节点集群。因此,KubeCPUOvercommit 警报会在此类实例后正确触发。OCPBUGS-35095
  • 在此次更新之前,用户可以为 cluster-monitoring-configuser-workload-monitoring-config 配置映射设置 prometheus, prometheus_replica, 或 cluster 作为 Prometheus 外部标签。不建议这样做,可能会导致集群出现问题。在这个版本中,配置映射不再接受这些保留的外部标签。OCPBUGS-18282

1.6.16. 网络

  • 在此次更新之前,因为 baremetal 和多个网络接口控制器(NIC)环境中存在 NetworkManager-wait-online 依赖项问题,所以 OpenShift Container Platform 部署中会出现 NMState 服务失败。因此,不正确的网络配置会导致部署失败。在这个版本中,baremetal 部署的 NetworkManager-wait-online 依赖项被更新,这减少了部署失败并确保 NMState 服务稳定性。(OCPBUGS-61824)
  • 在此版本之前,当 cloud-event-proxy 容器或 pod 重启时,事件数据会立即可用。这会导致 getCurrenState 函数错误地返回 clockclass 0。在这个版本中,getCurrentState 功能不再返回不正确的 clockclass,而是返回 HTTP 400 Bad Request404 Not Found Error。(OCPBUGS-59969)
  • 在此次更新之前,HorizontalPodAutoscaler 对象会临时将 istiod-openshift-gateway 部署扩展到两个副本。这会导致持续集成(CI)失败,因为测试预期一个副本。在这个版本中,HorizontalPodAutoscaler 对象扩展会验证 istiod-openshift-gateway 资源至少有一个副本来继续部署。(OCPBUGS-59894)
  • 在以前的版本中,DNS Operator 在其配置或其操作对象配置中不会将 readOnlyRootFilesystem 参数设置为 true。因此,DNS Operator 及其操作对象对 root 文件系统有write权限。在这个版本中,DNS Operator 将 readOnlyRootFilesystem 参数设置为 true,以便 DNS Operator 及其操作对象现在对 root 文件系统具有 read-only 访问权限。在这个版本中,为集群提供增强的安全性。(OCPBUGS-59781)
  • 在此次更新之前,当启用 Gateway API 功能时,它会安装一个带有一个 pod 副本和关联的 PodDisruptionBudget 设置的 Istio control plane。PodDisruptionBudget 设置阻止唯一的 pod 副本被驱除,阻止集群升级。在这个版本中,Ingress Operator 会阻止 Istio control plane 配置 PodDisruptionBudget 设置。pod 副本不再阻止集群升级。(OCPBUGS-58358)
  • 在此次更新之前,当启用 whereabouts-shim 网络附加时,Cluster Network Operator (CNO) 会在集群升级过程中停止。出现这个问题的原因是 openshift-multus 命名空间中缺少 release.openshift.io/version 注解。在这个版本中,缺少的注解添加到集群中,因此当启用 whereabouts-shim 附加位置时,CNO 不再在集群升级过程中停止。集群升级现在可以如预期继续。(OCPBUGS-57643)
  • 在此次更新之前,即使这些资源的 CRD 不存在,Ingress Operator 也会向 Cluster Operator 的 status.relatedObjects 参数添加资源(最明显的是网关资源)。另外,Ingress Operator 为 istiosGatewayClass`resources, which are both cluster-scoped resources.As a result of these configurations, the `relatedObjects 参数包括了误导信息。在这个版本中,对 Ingress Operator 的状态控制器的更新可确保控制器检查这些资源是否已存在,并在将任何这些资源添加到 relatedObjects 参数前检查相关的功能门。控制器不再为 GatewayClassistio 资源指定命名空间。在这个版本中,确保 relatedObjects 参数包含 GatewayClassistio 资源的准确信息。(OCPBUGS-57433)
  • 在此次更新之前,因为过时的网络地址转换(NAT)处理,集群升级会导致出口 IP 地址分配不一致。只有在 OVN-Kubernetes 控制器停机时,才会出现这个问题。因此,会发生重复的逻辑路由器策略和出口 IP 地址使用情况,这会导致流量流和中断不一致。在这个版本中,出口 IP 地址分配清理确保在 OpenShift Container Platform 4.20 集群中一致且可靠的出口 IP 地址分配。(OCPBUGS-57179)
  • 在以前的版本中,当内部安装程序置备的基础架构部署使用 Cilium 容器网络接口(CNI)时,将流量重定向到负载均衡器的防火墙规则无效。在这个版本中,该规则可用于 Cilium CNI 和 OVNKubernetes。(OCPBUGS-57065)
  • 在此次更新之前,因为缺少权限,一个 keepalived 健康检查脚本会失败。这可能会导致在使用共享入口服务时导致入口 VIP 错误。在这个版本中,必要的权限被添加到容器中,因此健康检查现在可以正常工作。(OCPBUGS-55681)
  • 在此次更新之前,在 EgressFirewall CRD 的对应 DNS 规则的 address_set 列表中存在过时的 IP 地址。这些过时的地址会被继续添加到 address_set 中而不是删除它们,从而导致内存泄漏问题。在这个版本中,当达到 IP 地址的生存时间(TTL)过期时间时,IP 地址会在达到 5 秒宽限期后从 address_set 列表中删除。(OCPBUGS-38735)
  • 在以前的版本中,在 OpenShift Container Platform 节点和 pod 中运行的带有大型数据包的某些流量模式会触发 OpenShift Container Platform 主机发送互联网控制消息协议(ICMP)需要 frag 到另一个 OpenShift Container Platform 主机。这种情形降低了集群中可行的最大传输单元(MTU)。因此,执行 ip route show cache 命令会生成缓存的路由,其 MTU 低于物理链接。数据包被丢弃,OpenShift Container Platform 组件会降级,因为主机没有发送带有大型数据包的 pod 到 pod 流量。在这个版本中,nftables 规则会阻止 OpenShift Container Platform 节点降低其 MTU 以响应这些流量模式。(OCPBUGS-37733)
  • 在此次更新之前,您无法覆盖在安装程序置备的基础架构上运行的部署的节点 IP 地址选择过程。这限制了在机器网络上不使用 VIP 地址的用户管理的负载均衡器,这会导致具有多个 IP 地址的环境出现问题。在这个版本中,在安装程序置备的基础架构中运行的部署现在支持 NODEIP_HINT ` parameter for the `nodeip-configuration systemd 服务。此支持更新可确保使用正确的节点 IP 地址,即使 VIP 地址不在同一子网中。(OCPBUGS-36859)

1.6.17. 节点

  • 在此次更新之前,在某些配置中,kubelet 的 podresources API 可能会报告分配给活跃和终止的 pod 的内存,而不是报告分配给活跃的 pod 的内存。因此,这种不准确报告可能会受到 NUMA 感知调度程序影响的工作负载放置。在这个版本中,kubelet 的 podresources 不再报告已终止 pod 的资源,这会导致 NUMA 感知调度程序准确的工作负载放置。(OCPBUGS-56785)
  • 在此版本之前,Container Runtime Interface-OpenShift (CRI-O)系统在后端存储停机时无法识别有状态集 pod 的终止状态,从而导致 pod 保持 Terminating 状态,因为无法检测容器进程不再存在。这会导致资源效率低下和潜在的服务中断。在这个版本中,CRI-O 可以正确地识别终止的 pod,改进了 StatefulSet 终止流。(OCPBUGS-55485)
  • 在此次更新之前,如果 Guaranteed QoS pod 中的 CPU 固定容器定义了 cgroups 配额,则内核 CPU 时间核算中的循环和小延迟可能会导致 CPU 固定进程节流,即使将配额设置为允许每个分配的 CPU 的 100% 消耗。在这个版本中,当 cpu-manager-policy=static 和静态 CPU 分配的资格满足时,容器具有带有整数 CPU 请求的 Guaranteed QOS,则禁用 CFS 配额。(OCPBUGS-14051)
  • 在此次更新之前,OpenShift Container Platform 构建中的最大打开文件软限制会减少。因此,容器会减少最大打开的文件限制,从而导致应用程序失败。在这个版本中,CRI-O 配置已更新,以恢复最大打开文件限制。因此,容器中的最大打开文件限制会恢复到以前的值,从而改进了需要更高限制的应用程序的功能。(OCPBUGS-62095)

1.6.18. Node Tuning Operator (NTO)

  • 在此次更新之前,iommu.passthrough=1 内核参数会在 OpenShift Container Platform 4.18 中的 Advanced RISC Machine (ARM) CPU 上导致 NVIDIA GPU 验证器失败。在这个版本中,内核参数会从基于 ARM 的环境的默认 Tuned CR 中删除。(OCPBUGS-52853)

1.6.19. Observability(可观察性)

  • 在此次更新之前,链接的 URL 位于开发人员透视图中,但在点击链接时不会切换视角。因此,会显示空白页。在这个版本中,当您点链接时会改变视角,页可以正确显示。(OCPBUGS-59215)
  • 在此次更新之前,即使您可以在所有视角中打开面板,Troubleshooting 面板只能在 admin 视角中正常工作。因此,在另一个视角中打开面板时,面板无法正常工作。在这个版本中,只能从 admin 视角打开 Troubleshooting 面板。(OCPBUGS-58166)

1.6.20. oc-mirror

  • 在此次更新之前,oc-mirror 中镜像 Helm 镜像不正确的计数会导致无法记录所有镜像的 Helm 镜像。因此,会显示不正确的 Helm 镜像计数。在这个版本中,oc-mirror 中不正确的 Helm 镜像计数已被修复,并正确镜像所有 Helm 镜像。因此,oc-mirror 中 Helm chart 的镜像计数是准确的。(OCPBUGS-59949)
  • 在此次更新之前,--parallel-images 标志接受无效的输入,其最小值小于 1 个,或大于镜像总数。因此,并行镜像复制会失败,并带有 0 或 100 个 -parallel-images 标记,并限制可镜像的镜像数量。在这个版本中,无效的 --parallel-images 标志的问题已被修复,可以接受 1 和镜像总数之间的值。因此,用户可以为有效范围中的任何值设置 --parallel-images 标志。(OCPBUGS-58467)
  • 在此次更新之前,高 oc-mirror v2 并发默认值会导致 registry 过载,并导致请求拒绝。因此,高并发默认值会导致 registry 拒绝,容器镜像推送失败。在这个版本中,oc-mirror v2 的并发默认值会减少,以避免 registry 拒绝,并改进了镜像推送成功率。(OCPBUGS-57370)
  • 在此次更新之前,因为 ImageSetConfig 参数中镜像摘要和阻止的镜像标签之间不匹配而发生错误。这个程序错误会导致用户在镜像集中查看来自不同云供应商的镜像,虽然它们被阻断。在这个版本中,ImageSetConfig 参数被更新为支持 blockedImages 列表中的正则表达式,以获得更灵活的镜像排除,并允许排除与 blockedImages 列表中正则表达式模式匹配的镜像。(OCPBUGS-56117)
  • 在此次更新之前,对于安全技术实施指南(STIG)合规性,系统 umask 值设置为 0077,并导致 disk2mirror 参数停止上传 OpenShift Container Platform 发行镜像。因此,用户无法上传 OpenShift Container Platform 发行镜像,因为 umask 命令的限制。在这个版本中,oc-mirror 处理有问题的 umask 值并警告用户。当系统 umask 设为 0077 时,OpenShift Container Platform 发行镜像会被正确上传。(OCPBUGS-55374)
  • 在此次更新之前,互联网系统 Consortium (ISC)指导行中错误地包含无效的 Helm Chart,并在运行时出现错误 m2d`workflow.With this release, the error message for invalid Helm charts in `m2d 工作流被更新,改进了错误消息的清晰性。(OCPBUGS-54473)
  • 在此次更新之前,会因为重复的频道选择而发生多个发行集合。因此,会收集重复的发行镜像,并导致不必要的存储使用。在这个版本中,重复的发行版本集合已被修复,每个发行版本都会被收集一次。因此,重复的发行集合会被取消,并确保通过更快访问来确保有效的存储。(OCPBUGS-52562)
  • 在此次更新之前,oc-mirror 不会检查特定 OpenShift Container Platform 版本的可用性,并导致它继续不存在的版本。因此,用户假设镜像成功,因为没有收到错误消息。在这个版本中,除了问题的原因外,oc-mirror 会在指定不存在的 OpenShift Container Platform 版本时返回错误。因此,用户了解不可用的版本,并可以采取适当的操作。(OCPBUGS-51157)

1.6.21. OpenShift API Server

  • 在此次更新之前,在从 OpenShift Container Platform 4.16 或更早版本升级的集群中,如果删除了内部 Image Registry,则之前可能会因为 openshift.io/legacy-token finalizer 被删除而无法删除的镜像 pull secret。在这个版本中,这个问题不再发生。(OCPBUGS-52193)
  • 在以前的版本中,使用 -dry-run=server 选项删除 istag 资源会意外导致从服务器中删除镜像的实际。这是因为 oc delete istag 命令中错误地实施了 dry-run 选项造成的意外删除。在这个版本中,dry-run 选项与 'oc delete istag' 命令关联。因此,意外删除镜像对象会被阻止,在使用 --dry-run=server 选项时 istag 对象保持不变。(OCPBUGS-35855)

1.6.22. OpenShift CLI (oc)

  • 在此次更新之前,如果目标集群在 99-worker-ssh 配置映射中没有调试 SSH 密钥存储,oc adm node-image create 命令无法为标准化(ISO)镜像创建国际机构。在这个版本中,可以在 99-worker-ssh 配置映射中在没有此密钥存储的情况下成功创建 ISO 镜像。(OCPBUGS-60600)
  • 在此次更新之前,oc describe templateinstance 过程中会因为 TemplateInstanceDescriber 中的 nil pointer dereference 而发生 panic。在这个版本中,oc describe templateinstance 命令中的 nil pointer dereference 已被修复,方法是在描述参数前检查 nil secret。(OCPBUGS-60281)
  • 在此次更新之前,外部 OIDC 环境中的 oc login -u 命令成功但删除了用户凭证,从而导致后续的 oc 命令失败。在这个版本中,oc login -u 命令不再修改 kubeconfig,从而导致后续 oc 命令失败。因此,这个问题可防止 oc login -u 删除用户凭证,确保后续的 "oc" 命令可以正常工作。(OCPBUGS-58393)
  • 在此次更新之前,在使用 'oc adm node-image create' 命令时,命令不会在失败后提供描述性错误消息。在这个版本中,命令会在失败时提供错误消息。(OCPBUGS-55048)
  • 在此次更新之前,must-gather pod 可以调度到具有 NotReady 污点的节点,从而导致部署到不可用节点和后续日志收集失败。在这个版本中,调度程序会考虑节点污点,并自动将节点选择器应用到 pod 规格。此更改可确保不会在污点节点上调度 must-gather pod,从而防止日志收集失败。(OCPBUGS-50992)
  • 在此次更新之前,当使用 oc adm node-image create 命令将节点添加到集群中时,命令会错误地在将 ISO 保存在磁盘上时修改目标资产文件夹的现有权限。在这个版本中,确保复制操作会保留目标文件夹权限。(OCPBUGS-49897)

1.6.23. OpenShift Controller

  • 在以前的版本中,构建控制器会查找链接用于常规使用的 secret,而不是专门用于镜像拉取。在这个版本中,在搜索默认镜像 pull secret 时,构建会使用链接到服务帐户的 ImagePullSecrets。(OCPBUGS-57918)
  • 在此次更新之前,构建 pod 中错误格式化的代理环境变量会导致因为外部二进制格式投诉而构建失败。在这个版本中,构建不再因为不正确的格式化的代理环境变量而失败,因为它们现在被排除。(OCPBUGS-54695)

1.6.24. Operator Lifecycle Manager (OLM) Classic

  • 在此次更新之前,捆绑包解包作业不会在创建时继承目录 Operator 的 control plane 容错能力。因此,捆绑包解包作业只在 worker 节点上运行。如果因为污点而没有 worker 节点可用,集群管理员将无法在集群中安装或更新 Operator。在这个版本中,OLM (Classic)采用 control plane 容限来捆绑解包作业,作业可以作为 control plane 的一部分运行。(OCPBUGS-58349)
  • 在此次更新之前,当 Operator 组命名空间中提供多个 API 时,OLM (Classic) 对为 Operator 组创建的集群角色进行不必要的更新调用。因此,这些不必要的调用会导致 ectd 和 API 服务器造成 churn。在这个版本中,OLM (Classic) 不会对 Operator 组中的集群角色对象进行不必要的更新调用。(OCPBUGS-57222)
  • 在此次更新之前,如果 olm-operator pod 在因为错误标记的资源而在集群更新过程中崩溃,则通知消息将使用 info 标签。在这个版本中,因为错误标签的资源造成崩溃通知信息会使用 error 标签。(OCPBUGS-53161)
  • 在此次更新之前,目录 Operator 每 5 分钟调度目录快照。在具有多个命名空间和订阅的集群中,快照会在目录源之间失败并级联。因此,CPU 负载高峰会有效地阻止安装和更新 Operator。在这个版本中,目录快照会每 30 分钟调度一次,以便有足够的时间来解决快照。(OCPBUGS-43966)

1.6.25. Service Catalog

  • 在此次更新之前,在服务注解 service.beta.openshift.io/serving-cert-secret-name 中设置无效的证书 secret 名称会导致服务证书颁发机构(CA) Operator 热循环。在这个版本中,Operator 会在 10 次尝试后停止重试以创建 secret。无法更改重试次数。(OCPBUGS-61966)

1.6.26. Storage

  • 在此次更新之前,重新调整或克隆小 Google Cloud Hyperdisk 卷(例如,从 4Gi 到 5Gi)会失败,因为 Google Cloud API 中的输入/输出操作每秒验证错误。这是因为 Container Storage Interface (CSI)驱动程序不会自动调整置备的 IOPS,以满足新卷大小的最低要求。在这个版本中,驱动程序已被更新,以便在卷扩展操作过程中正确计算并提供所需的 IOPS。用户现在可以成功重新定义大小并克隆这些较小的 Hyperdisk 卷。(OCPBUGS-62117)
  • 在此次更新之前,当持久性卷声明(PVC)在创建后快速调整大小时,竞争条件有时会造成间歇性失败或 flake。这会导致一个错误,系统会错误地报告无法找到绑定的持久性卷(PV)。在这个版本中,时间问题已被修复,因此在创建 PVC 可以正常工作后调整 PVC 的大小。(OCPBUGS-61546)

1.7. 技术预览功能状态

此版本中的一些功能当前还处于技术预览状态。它们并不适用于在生产环境中使用。请注意红帽客户门户网站中的以下支持范围:

技术预览功能支持范围

在以下表格中,功能被标记为以下状态:

  • 不可用
  • 技术预览
  • 公开发行
  • 已弃用
  • 删除

1.7.1. 认证和授权技术预览功能

Expand
表 1.17. 认证和授权技术预览
功能4.184.194.20

Pod 安全准入限制强制

技术预览

技术预览

技术预览

使用外部 OIDC 身份提供程序直接验证

不可用

技术预览

正式发行 1

  1. 此功能从 OpenShift Container Platform 4.20.5 开始是 GA。之前的 4.20.z 版本仍为技术预览。

1.7.2. Edge 计算技术预览功能

Expand
表 1.18. Edge 计算技术预览
功能4.184.194.20

加速置备 GitOps ZTP

技术预览

技术预览

技术预览

使用 TPM 和 PCR 保护启用磁盘加密

技术预览

技术预览

技术预览

配置本地仲裁节点

不可用

技术预览

公开发行

使用隔离配置双节点 OpenShift 集群

不可用

不可用

技术预览

1.7.3. 扩展技术预览功能

Expand
表 1.19. 扩展技术预览
功能4.184.194.20

Operator Lifecycle Manager (OLM) v1

公开发行

公开发行

公开发行

使用 sigstore 签名进行容器镜像的 OLM v1 运行时验证

技术预览

技术预览

技术预览

OLM v1 权限 preflight 检查集群扩展

不可用

技术预览

技术预览

OLM v1 在指定命名空间中部署集群扩展

不可用

技术预览

技术预览

OLM v1 部署使用 Webhook 的集群扩展

不可用

不可用

技术预览

1.7.4. 安装技术预览功能

Expand
表 1.20. 安装技术预览
功能4.184.194.20

使用 kvc 向节点添加内核模块

技术预览

技术预览

技术预览

为 SR-IOV 设备启用 NIC 分区

公开发行

公开发行

公开发行

Google Cloud 用户定义的 label 和 tag

公开发行

公开发行

公开发行

使用 Assisted Installer 在 Alibaba Cloud 上安装集群

技术预览

技术预览

技术预览

使用机密虚拟机在 Microsoft Azure 上安装集群

技术预览

公开发行

公开发行

Microsoft Azure 上 etcd 的专用磁盘

不可用

不可用

技术预览

在 RHEL 中的 BuildConfig 中挂载共享权利

技术预览

技术预览

技术预览

OpenShift zones 支持 vSphere 主机组

不可用

技术预览

技术预览

可选择 Cluster Inventory

技术预览

技术预览

技术预览

使用 Cluster API 实现在 Google Cloud 上安装集群

公开发行

公开发行

公开发行

在 Google Cloud 上启用用户置备的 DNS

不可用

技术预览

技术预览

使用多个网络接口控制器在 VMware vSphere 上安装集群

技术预览

技术预览

公开发行

使用裸机作为服务

不可用

技术预览

技术预览

更改 CVO 日志级别

不可用

不可用

技术预览

1.7.5. Machine Config Operator 技术预览功能

Expand
表 1.21. Machine Config Operator 技术预览
功能4.184.194.20

vSphere 的引导镜像管理

不可用

不可用

技术预览

改进了 MCO 状态报告(oc get machineconfignode)

技术预览

公开发行

公开发行

固定镜像设置

技术预览

正式发行 1

公开发行

OpenShift/On-cluster RHCOS 镜像分层的镜像模式

正式发行 2

公开发行

公开发行

  1. 此功能自 OpenShift Container Platform 4.19.12 开始是 GA。在之前的 4.19.x 版本中仍是技术预览。
  2. 从 OpenShift Container Platform 4.18.20 开始,此功能为 GA。之前的 4.18.x 版本仍为技术预览。

1.7.6. 机器管理技术预览功能

Expand
表 1.22. 机器管理技术预览
功能4.184.194.20

使用 Amazon Web Services 的集群 API 管理机器

技术预览

技术预览

技术预览

使用 Google Cloud 的集群 API 管理机器

技术预览

技术预览

技术预览

使用 IBM Power® Virtual Server 的集群 API 管理虚拟机

技术预览

技术预览

技术预览

使用 Microsoft Azure 的 Cluster API 管理机器

技术预览

技术预览

技术预览

使用 RHOSP 的集群 API 管理虚拟机

技术预览

技术预览

技术预览

使用 VMware vSphere 的集群 API 管理机器

技术预览

技术预览

技术预览

使用裸机的集群 API 管理虚拟机

不可用

技术预览

技术预览

IBM Power® Virtual Server 的云控制器管理器

技术预览

技术预览

技术预览

使用计算机器集在现有 VMware vSphere 集群中添加多个子网

技术预览

技术预览

技术预览

使用机器集为 Microsoft Azure 虚拟机配置可信启动

技术预览

公开发行

公开发行

使用机器集配置 Azure 机密虚拟机

技术预览

公开发行

公开发行

1.7.7. 监控技术预览功能

Expand
表 1.23. 监控技术预览
功能4.184.194.20

指标集合配置集

技术预览

公开发行

公开发行

1.7.8. 多架构技术预览功能

Expand
表 1.24. 多架构技术预览
功能4.184.194.20

arm64 构架上的 kdump

技术预览

技术预览

公开发行

s390x 架构上的 kdump

技术预览

技术预览

公开发行

ppc64le 架构上的 kdump

技术预览

技术预览

公开发行

支持配置镜像流导入模式行为

技术预览

技术预览

技术预览

1.7.9. 网络功能虚拟化功能

Expand
表 1.25. 网络技术预览跟踪器
功能4.184.194.20

eBPF manager Operator

技术预览

技术预览

技术预览

通过 L2 模式,使用节点的一个子集(由特定的 IP 地址池指定)中的 MetalLB 服务进行广告

技术预览

技术预览

技术预览

更新特定于接口的安全 sysctl 列表

技术预览

技术预览

技术预览

出口服务自定义资源

技术预览

技术预览

技术预览

BGPPeer 自定义资源中的 VRF 规格

技术预览

技术预览

技术预览

NodeNetworkConfigurationPolicy 自定义资源中的 VRF 规格

技术预览

公开发行

公开发行

SR-IOV VF 的主机网络设置

公开发行

公开发行

公开发行

MetalLB 和 FRR-K8s 集成

公开发行

公开发行

公开发行

PTP grandmaster 时钟的自动秒处理

公开发行

公开发行

公开发行

PTP 事件 REST API v2

公开发行

公开发行

公开发行

在裸机上的 OVN-Kubernetes 自定义 br-ex 网桥

公开发行

公开发行

公开发行

vSphere 和 RHOSP 上的 OVN-Kubernetes 自定义 br-ex 网桥

技术预览

技术预览

技术预览

从 OpenShift SDN 实时迁移 OVN-Kubernetes

不可用

不可用

不可用

用户定义的网络分段

公开发行

公开发行

公开发行

动态配置管理器

技术预览

技术预览

技术预览

SR-IOV Network Operator 支持 Intel C741 Emmitsburg 芯片组

技术预览

技术预览

技术预览

对 ARM 架构上的 SR-IOV Network Operator 支持

公开发行

公开发行

公开发行

用于 Ingress 管理的网关 API 和 Istio

技术预览

公开发行

公开发行

PTP 普通时钟的双端口 NIC

不可用

公开发行

公开发行

DPU Operator

不可用

技术预览

技术预览

Whereabouts IPAM CNI 插件的 fast IPAM

不可用

技术预览

技术预览

Unnumbered BGP peering

不可用

技术预览

公开发行

带有 xmitHashPolicy 的聚合绑定接口之间的负载均衡

不可用

不可用

技术预览

PF Status Relay Operator 用于带有 SR-IOV 网络的高可用性

不可用

不可用

技术预览

使用 MTV 预配置用户定义的网络端点

不可用

不可用

技术预览

PTP 设备的无需辅助的 holdover

不可用

不可用

技术预览

NVIDIA BlueField-3 DPU 支持

不可用

不可用

技术预览

1.7.10. 节点技术预览功能

Expand
表 1.26. 节点技术预览
功能4.184.194.20

MaxUnavailableStatefulSet 功能集

技术预览

技术预览

技术预览

sigstore 支持

技术预览

技术预览

公开发行

默认 sigstore openshift 集群镜像策略

技术预览

技术预览

技术预览

Linux 用户命名空间支持

技术预览

技术预览

公开发行

基于属性的 GPU 分配

不可用

不可用

技术预览

1.7.11. OpenShift CLI (oc) 技术预览功能

Expand
表 1.27. OpenShift CLI (oc) 技术预览
功能4.184.194.20

oc-mirror 插件 v2

公开发行

公开发行

公开发行

oc-mirror 插件 v2 enclave 支持

公开发行

公开发行

公开发行

oc-mirror 插件 v2 删除功能

公开发行

公开发行

公开发行

1.7.12. Operator 生命周期和开发技术预览功能

Expand
表 1.28. Operator 生命周期和开发技术预览
功能4.184.194.20

Operator Lifecycle Manager (OLM) v1

公开发行

公开发行

公开发行

为基于 Helm 的 Operator 项目构建工具

删除

删除

删除

为基于 Java 的 Operator 项目构建工具

删除

删除

删除

Expand
表 1.29. RHOSP 技术预览
功能4.184.194.20

RHOSP 集成到 Cluster CAPI Operator

技术预览

技术预览

技术预览

在本地磁盘上带有 rootVolumesetcd 的 control plane

公开发行

公开发行

公开发行

在 RHOSP 17.1 上托管 control plane

不可用

技术预览

技术预览

1.7.14. 可扩展性和性能技术预览功能

Expand
表 1.30. 可扩展性和性能技术预览
功能4.184.194.20

factory-precaching-cli 工具

技术预览

技术预览

技术预览

超线程感知 CPU Manager 策略

技术预览

技术预览

技术预览

挂载命名空间封装

技术预览

技术预览

技术预览

Node Observability Operator

技术预览

技术预览

技术预览

增加 etcd 数据库大小

技术预览

技术预览

技术预览

使用 RHACM PolicyGenerator 资源管理 GitOps ZTP 集群策略

技术预览

公开发行

公开发行

固定镜像设置

技术预览

技术预览

技术预览

配置 NUMA 感知调度程序副本和高可用性

不可用

不可用

技术预览

1.7.15. 存储技术预览功能

Expand
表 1.31. 存储技术预览
功能4.184.194.20

AWS EFS One Zone 卷

不可用

不可用

公开发行

使用 Local Storage Operator 进行自动设备发现和置备

技术预览

技术预览

技术预览

Azure File CSI 快照支持

技术预览

技术预览

技术预览

Azure File 跨订阅支持

不可用

公开发行

公开发行

Azure 磁盘 performance plus

不可用

不可用

公开发行

为每个命名空间配置 fsGroupChangePolicy

不可用

不可用

公开发行

OpenShift 构建中的共享资源 CSI 驱动程序

技术预览

技术预览

技术预览

Secret Store CSI Driver Operator

公开发行

公开发行

公开发行

CIFS/SMB CSI Driver Operator

公开发行

公开发行

公开发行

VMware vSphere 多个 vCenter 支持

公开发行

公开发行

公开发行

在 vSphere 上禁用/启用存储

技术预览

公开发行

公开发行

为 vSphere 增加每个节点的最大卷数量

不可用

技术预览

技术预览

RWX/RWO SELinux 挂载选项

开发者预览

开发者预览

技术预览

在数据存储之间迁移 CNS 卷

开发者预览

公开发行

公开发行

CSI 卷组快照

技术预览

技术预览

技术预览

GCP PD 支持 C3/N4 实例类型和 hyperdisk-balanced 磁盘

公开发行

公开发行

公开发行

OpenStack Manila 支持 CSI 调整大小

公开发行

公开发行

公开发行

卷属性类

不可用

技术预览

技术预览

卷填充器

技术预览

技术预览

公开发行

1.7.16. Web 控制台技术预览功能

Expand
表 1.32. Web 控制台技术预览跟踪程序
功能4.184.194.20

OpenShift Container Platform Web 控制台中的 Red Hat OpenShift Lightspeed

技术预览

技术预览

技术预览

1.8. 已知问题

  • 目前,NUMA Resources Operator (NRO)提供的 topo-aware-scheduler 不支持基于 Kubernetes 优先级的抢占。当可用节点上的所有 NUMA 区域都完全被较低优先级 pod 使用时,具有 PreemptLowerPriority 策略的高优先级 pod 会一直处于 Pending 状态,而不是抢占较低优先级 pod。因此,在使用 topo-aware-scheduler 时,依赖于基于优先级的抢占调度恢复的工作负载无法正常工作。(OCPBUGS-77930)
  • 网关 API 和 Amazon Web Services (AWS)、Google Cloud 和 Microsoft Azure 私有集群存在一个已知问题。为网关置备的负载均衡器始终配置为外部,这可能会导致错误或意外行为:

    • 在 AWS 私有集群中,负载均衡器会处于 pending 状态,并报告错误: Error sync load balancer: failed to ensure load balancer: could not find any appropriate subnets for the ELB
    • 在 Google Cloud 和 Azure 私有集群中,当负载均衡器没有外部 IP 地址时,会置备一个外部 IP 地址。

    这个问题不支持临时解决方案。(OCPBUGS-57440)

  • 当在隔离的用户命名空间中运行 pod 时,pod 容器中的 UID/GID 不再与主机上的 UID/GID 匹配。为了文件系统所有权正常工作,Linux 内核使用 ID 映射挂载,它会在虚拟文件系统(VFS)层中转换容器和主机之间的用户 ID。

    但是,并非所有文件系统目前都支持 ID 映射挂载,如网络文件系统(NFS)和其他网络/分布式文件系统。由于这样的文件系统不支持 ID 映射挂载,所以在用户命名空间中运行的 pod 无法访问挂载的 NFS 卷。此行为不特定于 OpenShift Container Platform。它适用于 Kubernetes v1.33 及之后的版本中的所有 Kubernetes 发行版本。

    当升级到 OpenShift Container Platform 4.20 时,集群不受影响,直到您选择用户命名空间。在启用了用户命名空间后,任何从不支持 ID 映射挂载的供应商使用 NFS 支持的持久性卷的 pod 可能会在用户命名空间中运行时遇到访问或权限问题。有关启用用户命名空间的更多信息,请参阅配置 Linux 用户命名空间支持

    注意

    现有 OpenShift Container Platform 4.19 集群不受影响,除非您明确启用用户命名空间,这是 OpenShift Container Platform 4.19 中的技术预览功能。

  • 在 Azure 上安装集群时,如果您将任何 compute.platform.azure.identity.typecontrolplane.platform.azure.identity.typeplatform.azure.defaultMachinePlatform.identity.type 字段值设置为 None,您的集群无法从 Azure Container Registry 拉取镜像。您可以通过提供用户身份或将 identity 字段留空来避免此问题。在这两种情况下,安装程序会生成用户分配的身份。(OCPBUGS-56008)
  • 控制台统一软件目录视图中存在一个已知问题。选择 EcosystemSoftware Catalog 时,您必须输入现有项目名称或创建新项目来查看软件目录。项目选择字段不会影响集群中安装目录内容的方式。作为临时解决方案,请输入任何现有项目名称来查看软件目录。(OCPBUGS-61870)
  • 使用 BlueField-3 NIC 删除和重新创建测试工作负载会导致时钟因为 PTP 同步不一致而跳转。这会破坏测试工作负载中的时间同步。当工作负载稳定时,时间同步稳定。(RHEL-93579)
  • 由于相同的三个字母前缀("eno"),GNR-D 接口的事件日志是模糊的。因此,在状态更改过程中不会明确识别受影响的接口。要临时解决这个问题,请更改 ptp-operator 使用的接口,以遵循"path"命名规则,确保每个时钟事件会根据接口名称正确识别,并明确指明哪些时钟会受状态更改的影响。如需更多信息,请参阅网络接口命名策略。(OCPBUGS-62817)
  • 使用 Telecom Time Synchronous Clock (T-TSC) 配置会导致 ts2phc 指标报告"unlocked"而不是"locked"。因此,您可能会遇到不准确的 Precision Time Protocol (PTP) 时钟状态报告。要临时解决这个问题,删除 ts2phc 指标。(OCPBUGS-63158)
  • 因为 OS 和 iDRAC 重启间的干扰,在 Dell XR8620 上更新 iDRAC 固件可能会导致服务器失败。这可能会中断服务。要临时解决这个问题,请在 OpenShift 之外的服务器中更新 iDRAC 固件。(OCPBUGS-60876)
  • 支持 Gateway API 的 istiod 组件,之前在 OpenShift Service Mesh (OSSM)监视的所有命名空间中创建了 istio-ca-root-cert ConfigMap。一个修复包含在 OSSM 3.0.1 中(OpenShift Container Platform 4.20 的一部分),用于限制此行为,因此 ConfigMap 仅在包含网关 API 资源的命名空间中创建。但是,这个问题不会从不包含网关的命名空间中自动清理现有的 ConfigMap。因此,升级后集群可能仍然包含大量不必要的 istio-ca-root-cert ConfigMap。这些额外的 ConfigMap 是安全的,可以安全地忽略,或者从不托管网关的命名空间手动删除。(OCPBUGS-43093)
  • 当在两个或多个不同的 网关资源 中指定相同的主机名时,系统不会报告冲突。上游网关 API 规格将每个 网关 视为单独的代理。这是上游网关 API 规格的预期行为。集群不会阻止此配置。到特定网关的流量路由由外部配置决定,比如在主机名的 DNS 记录中使用哪个网关的服务 IP 地址。(需要 2180)
  • 在内部平台上不支持网关 API,包括使用 None 平台类型的 Bare Metal、vSphere、Nanix、KubeVirt 和集群。网关 API 实现自动创建 类型为 LoadBalancer 的服务。内部平台没有默认的云控制器管理器或其他置备程序来为这个服务分配外部 IP 地址。因此,网关 资源永远不会标记为"可接受的",且无法从集群外部访问。(OCPBUGS-37385)
  • 如果没有在 Kubernetes Service 中明确定义 appProtocol 字段,则 Gateway API 实现会从 Service 端口名称中推断网络协议。例如,名为 https-web 的端口被解释为使用 HTTPS 协议。如果端口名称与应用程序使用的实际协议不匹配,这种推测可能会导致意外的流量行为或连接失败。要避免这个问题,请在 Service 资源中明确定义 appProtocol 字段,或者确保端口名称严格与正在使用的协议匹配。(OSSM-7231)
  • 与基于 HAProxy 的默认 Ingress Controller 相比,网关 API 的反向代理实现(基于 Istio 和 Envoy)目前显示较低的性能。与多个版本相比,对于 OpenShift Container Platform 进行了广泛的调整。因此,与标准 OpenShift 路由相比,用户可能会在使用网关 API 时看到更高的延迟或降低吞吐量。网关 API 实施的性能优化正在进行。(OSSM-6842)
  • OpenShift Service Mesh (OSSM) 3.x 提供网关 API 实现,无法在同一集群中与 OSSM 2.x 共存,除非在支持的迁移过程中。不支持为标准操作同时安装这两个版本,并可能导致资源冲突;例如,Ingress Operator 可能会报告 降级状态。另外,Network Observability Operator (NID)不再支持 OSSM 2.x。建议用户使用 OSSM 3.x 进行持续支持和兼容性。用户必须为其集群选择一个 Service Mesh 版本,或者在从 2.x 迁移到 3.x 时按照官方迁移步骤进行操作。(OSSM-5407)
  • 网关 API 实施目前不支持自动闲置服务。与标准 OpenShift 路由不同,它们可以在不使用时闲置服务节省资源,由网关 API 管理的工作负载无法自动扩展为零,或者根据流量不活跃进入空闲状态。
  • 网关 API 实现目前缺少与 OpenShift Container Platform Web 控制台和 OpenShift CLI (oc)的专用集成。因此,网关 API 资源(如 GatewayGatewayClassHTTPRoute )不会出现在特定控制台仪表板或视图中。要管理这些资源,用户必须使用标准 oc 命令(如 oc get gatewayoc edit httproute)并使用 YAML 清单应用配置。
  • 网关 API 实现目前不提供用户配置高级 Istio 或 Envoy 选项的机制。具体来说,配置访问日志或调优低级代理设置等功能不会被公开。用户必须依赖网关 API 控制器提供的默认配置。
  • Gateway API 实现目前不支持 Cluster User-Defined Networks (CUDN)。网关 API 资源只能与默认集群网络一起使用,且无法附加到用户定义的二级网络。
  • 网关 API 实现中的 HTTPRoute 资源目前不支持 PassthroughRe-encrypt TLS 终止策略。与提供灵活的终止选项的标准 OpenShift 路由不同,HTTPRoute 目前仅支持 Edge 终止(在网关上终止 TLS)。需要 PassthroughRe-encrypt 功能的用户目前无法使用 HTTPRoute 资源实现。
  • 在 AWS 上安装集群时,如果您在运行任何 openshift-install create 命令前没有配置 AWS 凭证,安装程序会失败。(OCPBUGS-56658)
  • 在使用特定的 AMD EPYC 处理器的系统上,一些低级别系统中断(如 AMD-Vi )可能包含 CPU 掩码中与 CPU 固定工作负载重叠的 CPU。此行为是因为硬件设计。这些特定错误报告中断通常不活跃,目前没有已知的性能影响。(OCPBUGS-57787)
  • 目前,使用 guaranteed QoS 类和请求整个 CPU 的 pod 可能无法在节点重启或 kubelet 重启后自动重启。此问题可能会在配置了静态 CPU Manager 策略的节点并使用 full-pcpus-only 的规格中发生,当节点上的大多数或所有 CPU 都已由此类工作负载分配时。作为临时解决方案,请手动删除并重新创建受影响的 pod。(OCPBUGS-43280)
  • 如果存档包含以后缀 nodes 结尾的自定义命名空间目录,则 Performance Profile Creator 工具将无法分析 must-gather 存档。发生故障的原因是工具的搜索逻辑错误地报告多个匹配项的错误。作为临时解决方案,请重命名自定义命名空间目录,使其不以 nodes 后缀结尾,并再次运行该工具。(OCPBUGS-60218)
  • 目前,在配置了 SR-IOV 网络虚拟功能的集群中,负责网络设备重命名和由 Node Tuning Operator 管理的 TuneD 服务的系统服务之间可能会出现竞争条件。因此,在节点重启后 TuneD 配置集可能会降级,从而导致性能下降。作为临时解决方案,重启 TuneD pod 以恢复配置集状态。(OCPBUGS-41934)
  • 目前已知的延迟问题会影响在第 4 代 Intel Xeon 处理器上运行的系统。(OCPBUGS-46528)
  • 当虚拟介质镜像通过 IPv6 地址提供时,SuperMicro ARS-111GL-NHR 服务器无法访问虚拟介质。因此,您不能在带有 IPv6 网络配置的 SuperMicro ARS-111GL-NHR 服务器模型中使用虚拟介质。(OCPBUGS-60070)
  • Hewlett Packard Enterprise (HPE) DL110G11 服务器和类似模型上的固件更新可能会因为一个特定于此硬件的错误而失败,是由 'NetworkAdapters' 资源的实现方式造成的。它可能会在更新过程中不可用,并导致更新失败。要临时解决这个问题,请手动更新 Ironic 之外的 Baseboard Management Controller (BMC)固件以避免服务中断。(OCPBUGS-60708)
  • 由于 SuperMicro ARS-111GL-NHR 服务器引导到现有的硬盘而不是虚拟介质,因此在特定的 BMC 固件版本上,将 Baremetalhost 引导到正确的 operating system 会重复失败。这个问题出现在更新的 BIOS 和裸机主机固件中,导致在 USB CD 正常工作时不支持 CD。因此,节点检查会失败。如果受影响,一个临时解决方式是,手动将 BootSourceOverrideTarget 设置为 USB CD 而不是 CD,并从正确的虚拟介质引导节点。(OCPBUGS-61851)
  • 当更新 Dell 服务器 BMC 固件时,Redfish API 会临时中断。这可能导致连接失败,并触发 Ironic 将更新标记为失败。要临时解决这个问题,在 Ironic 之外手动更新 BMC 固件以避免服务中断。(OCPBUGS-61871)
  • 当在 Dell R740 上尝试同时进行 BIOS 和 BMC 固件更新时,BMC 更新可能会失败,使服务器关闭并无响应。当更新过程没有成功完成时,会出现这个问题,从而导致系统处于非运行状态。(OCPBUGS-62009)
  • 如果您为服务器配置了不正确的网络共享位置或无效凭证,则更新 BMC 固件可能会失败,从而导致服务器保持关机且无法恢复。(OCPBUGS-62010)
  • 由于在时钟降级逻辑中存在一个程序错误,上游时钟连接的丢失不会触发所有时钟状态指标的降级。因此,在降级到 "unlocked" 状态后,'ptp4l' 和 'ts2phc' 时钟状态指标可能无法按预期降级,从而导致时间同步状态报告不一致。要临时解决这个问题,只依赖 'dpll' 和 'T-BC' 时钟状态指标,并忽略 'ptp4l' 和 'ts2phc' 指标。(OCPBUGS-62719)

1.9. 异步勘误更新

OpenShift Container Platform 4.20 的安全更新、程序错误修正、功能增强更新将会通过红帽网络以异步勘误的形式发布。所有的 OpenShift Container Platform 4.20 勘误都可以通过红帽客户门户网站获得OpenShift Container Platform 生命周期包括了详细的与异步勘误相关的内容。

红帽客户门户网站的用户可以在红帽订阅管理(RHSM)帐户设置中启用勘误通知功能。当勘误通知被启用后,每当用户注册的系统相关勘误被发布时,用户会收到电子邮件通知。

注意

用户的红帽客户门户网站账户需要有注册的系统,以及使用 OpenShift Container Platform 的权限才可以接收到 OpenShift Container Platform 的勘误通知。

本节的内容将会持续更新,以提供以后发行的与 OpenShift Container Platform 4.20 相关的异步勘误信息。异步子版本(例如,OpenShift Container Platform 4.20.z)的具体信息会包括在相应的子章节中。此外,在发行公告中因为空间限制没有包括在其中的勘误内容也会包括在这里的相应的子章节中。

重要

对于任何 OpenShift Container Platform 发行版本,请仔细参阅有关 更新集群 的说明。

发布日期:2026 年 6 月 3 日

OpenShift Container Platform release 4.20.24 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:21703 公告中。此更新中包括的 RPM 软件包由 RHSA-2026:21701 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.24 --pullspecs
1.9.1.1. 功能增强
  • 在这个版本中,Insights Operator 会收集 opentelemetrycollectors.opentelemetry.io 自定义资源(CR)以提高数据检索效率和系统性能。

    为了保持安全性并防止收集敏感信息,Insights Operator 会观察以下限制:

    • Resource Limit: 最多 5 OpenTelemetry Collector CR 是从集群收集的。
    • Data Masking: 仅保留 spec.config 字段的 service 子部分。receivers、exporters 和其他管道配置详情被省略。

    通过这些改进,OpenShift Container Platform 可以更好地分析数据收集过程的效率,并提供更精确的环境分析。

    (OCPBUGS-86235)

1.9.1.2. 修复的问题
  • 在此次更新之前,在使用 rootDeviceHints.wwn 时,在光纤通道(FC)多路径系统上的基于代理的安装(ABI)安装(ABI)中,磁盘选择逻辑会选择原始 FC 路径,而不是多路径设备。因此,镜像被写入原始 FC 路径(例如 /dev/sdb),当 multipathd 重新声明该设备时,挂载分区会失败并显示 ENODEV: No such device,从而导致安装失败。在这个版本中,磁盘选择逻辑被更新为首选使用原始 FC 路径的多路径设备,这与 ZTP/BMAC 控制器路径中的行为匹配。因此,使用 rootDeviceHints.wwn 在 FC 多路径系统上安装基于代理的安装现在可以正确地选择多路径设备并成功完成。(OCPBUGS-81880)
  • 在此次更新之前,在对 disk-to-mirror 操作后发生同步失败会导致 ClusterCatalogCatalogSourceUpdateService 资源生成空 status 字段。这缺少数据在可观察性方面造成显著差距,防止管理员验证资源健康状况,并导致下游自动化在等待有效状态条件时停滞。在这个版本中,协调逻辑已被修正,以确保在镜像过程中正确捕获并应用状态元数据。(OCPBUGS-84064)
  • 在此次更新之前,control plane 升级无法在具有零计算节点的托管 control plane 集群中进行。因此,control plane 升级会失败,防止应用程序出现关键安全补丁。在这个版本中,Cluster Network Operator (CNO)中解决了带有零计算节点的 control plane 升级问题。因此,这个更新会应用关键更新,并防止过时的开放虚拟网络(OVN) control plane 镜像。(OCPBUGS-84176)
  • 在此次更新之前,使用自定义服务帐户签发者配置的新集群会错误地将默认签发者用于前 24 小时。因此,应用程序部署在此 24 小时窗口中失败,因为应用程序无法获取有效的安全令牌。在这个版本中,自定义服务帐户签发者会在集群创建后立即应用。因此,服务帐户令牌现在可以正确地生成,允许应用程序在没有延迟的情况下成功部署。(OCPBUGS-85564)
  • 在此次更新之前,当 Prometheus 配置为使用没有证书颁发机构(CA)的客户端传输层安全(TLS)证书提取目标时,轮转客户端证书会导致 Prometheus 崩溃 SIGSEGV panic。Kubernetes 重启 pod,但 Prometheus 在这个时间被停机。在这个版本中,Prometheus 会在没有 CA 配置时正确处理客户端证书轮转,防止崩溃并确保持续指标收集。(OCPBUGS-86251)
1.9.1.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:20 年 5 月 20 日

OpenShift Container Platform release 4.20.23 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:17468 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:17466 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.23 --pullspecs
1.9.2.1. 已知问题
  • 由于 SuperMicro ARS-111GL-NHR 服务器引导到现有硬盘驱动器而不是虚拟介质,因此将 Baremetalhost 对象启动到正确的操作系统会在某些 Baseboard Management Controller (BMC)固件版本中重复失败。这个问题会出现在更新的 BIOS 和裸机主机固件中,从而导致在 USB CD 正常工作时不支持 CD。因此,节点检查会失败。如果受影响的问题,请手动将 BootSourceOverrideTarget 字段设置为 USB CD,而不是从正确的虚拟介质引导节点。(OCPBUGS-82299)
1.9.2.2. 修复的问题
  • 在此次更新之前,在 OpenShift Virtualization 上的托管集群中启用 routingViaHost: trueipForwarding: Global 会导致控制台和入口集群 Operator 降级。从集群中路由健康检查将失败,即使入口路由仍然可以被外部客户端访问。这是因为当 OpenShift Virtualization 上的管理集群和托管集群都启用了 routingViaHost: true 时会出现路由冲突。在这个版本中,确保 OpenShift Virtualization 上的托管集群使用子网网关 IP 作为默认网关,解决路由冲突,并允许控制台和入口 Operator 在启用这些网络功能时保持健康。(OCPBUGS-74395)
  • 在此次更新之前,创建大型 Azure UltraSSD_LRSPremiumV2_LRS 持久性卷的快照可能会因为 Container Storage Interface (CSI)驱动程序中有一个硬编码的 10 分钟超时而失败,这对于 Azure 的后台副本进程在大型磁盘上不足。在这个版本中,Azure Disk CSI 驱动程序支持即时访问快照,通过 VolumeSnapshotClass 中的 instantAccessDurationMinutes 参数进行配置,允许大型卷的快照操作成功完成。(OCPBUGS-78034)
  • 在此次更新之前,当配置了多个身份提供程序(IdP)并且 Authentication Operator 遇到与 IdP 的任何子集通信的问题时,整个 IdP 配置设置会回滚到以前的配置,防止应用任何新的 IdP 配置更改。在这个版本中,与任何单独的 IdP 通信的问题不会阻止推出整个新的 IdP 配置,允许 IdP 配置更改,即使所有 IdP 都没有按预期响应。(OCPBUGS-81502)
  • 在此版本之前,web 控制台不提供 robots.txt 文件,这意味着 search engine crawlers 没有显式指令来避免控制台页面。在这个版本中,web 控制台提供了一个 robots.txt 文件,禁止所有 crawlers。因此,搜索引擎不会被指示来索引任何 Web 控制台页面。(OCPBUGS-81575)
  • 在此次更新之前,在配置额外的接口时,出口 IP 地址被错误地分配给 br-ex 网桥。此问题会导致出口 IP 地址分配冲突和路由问题与意外流量路径相关的问题。在这个版本中,出口 IP 地址没有分配给 br-ex 网桥。因此,出口 IP 地址会被正确分配给二级接口,从而解决了路由冲突。(OCPBUGS-82115)
  • 在此次更新之前,当节点名称配置为完全限定域名(FQDN)时,Google Cloud Internal Load Balancers (ILB)将无法置备。在这个版本中,过滤逻辑已被修正。因此,当节点名称是 FQDN 时,Google Cloud ILB 现在可以成功置备。(OCPBUGS-83720)
  • 在此次更新之前,当使用 type: None 配置集群 Authentication 资源时,任何通过 spec.oauthMetadata 字段指定的 OAuth 元数据都会被静默忽略。Console Operator 会无条件删除 OAuth 元数据 ConfigMap 对象并取消设置 oauthMetadataFile 字段,即使提供了有效的 ConfigMap 对象引用。这可能导致 Console Operator 降级,因为因为 Kubernetes API 中缺少 OAuth 元数据,控制台 Pod 无法构建 OAuth 缓存。在这个版本中,当设置 type: None 时,spec.oauthMetadata 字段会被遵守。如果该字段引用 ConfigMap 对象,它将同步并由 kube-apiserver 提供。如果留空,则现有行为保持不变。(OCPBUGS-83856)
  • 在此次更新之前,ovnkube-controller 重启通常会在集群升级过程中发生,会触发删除用户定义的 detworks (UDN)的动态主机配置协议(DHCP)选项。这会导致主 UDN 接口上的虚拟机(VM) IP 地址在 DHCP 租期超时后丢失,因为控制器无法区分它自己的租期和其他控制器。在这个版本中,默认网络控制器已被更新,以确保它不会意外删除属于外部网络控制器的 DHCP 选项。(OCPBUGS-84054)
1.9.2.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:13 年 5 月 2026 日

OpenShift Container Platform release 4.20.22 现已正式发布。此更新中包括的固定问题列表记录在 RHBA-2026:16163 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:16156 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.22 --pullspecs
1.9.3.1. 修复的问题

这个版本没有值得修复的问题。

1.9.3.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:06 年 5 月 2026 日

OpenShift Container Platform release 4.20.21 现已正式发布。此更新中包括的固定问题列表记录在 RHBA-2026:13863 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:13861 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.21 --pullspecs
1.9.4.1. 修复的问题
  • 在此次更新之前,升级带有许多网络附加定义(NAD)共享同一网络名称的集群会导致使用 ovn-k8s-cni-overlay localnet NADs 的虚拟机丢失连接。因此,一些虚拟机不会创建逻辑端口,从而会破坏网络流量。在这个版本中,升级逻辑可以正确地处理 NAD 配置,从而促进一致的端口创建。因此,虚拟机在集群升级过程中和之后保持稳定连接。(OCPBUGS-78777)
  • 在此次更新之前,kube-apiserver 会在带有加密 etcd 的用户集群中推出部署会导致 TCP RST storms,从而导致应用程序 pod 流量丢弃。在这个版本中,这个问题已被解决,kube-apiserver rollouts 不再导致加密集群中的流量丢弃,提高了服务稳定性。(OCPBUGS-81477)
  • 在此次更新之前,在从受管到非受管置备网络时,metal3-static-ip-set YAML 文件中的子网配置不正确,阻止用户使用非受管置备网络创建路由。在这个版本中,metal3-static-ip-set YAML 文件为非受管置备网络设置正确的子网,从而解决了这个问题,并启用成功创建路由。(OCPBUGS-81643)
  • 在此次更新之前,Machine-config-controller 在单节点 OpenShift Container Platform 中使用缺陷的领导选举时间,从而导致非正常重启后出现 5 到 6 分钟的延迟。因此,在关键恢复期间,这会停滞 MachineConfig 渲染和池状态更新。在这个版本中,控制器会在单一节点 OpenShift Container Platform 上使用默认领导选举设置,在节点恢复后更快地过渡到 active 状态。因此,租期的获取时间会减少 50% 以上,允许集群操作立即恢复。(OCPBUGS-83393)
  • 在此次更新之前,在部署 Istio 工具时,Ingress Operator 没有正确设置 trustBundleName 配置,从而防止许多 Istio 实例存在。因此,运行并发实例会导致配置冲突和部署失败。在这个版本中,Ingress Operator 可以正确地应用 trustBundleName 配置,促进不同 Istio 实例之间的无缝共存。现在,用户可以在同一集群中维护许多 Istio 部署。然后,集群管理员可以手动删除任何旧的 ConfigMap 对象。(OCPBUGS-84132)
1.9.4.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期: 5 月 2026 日

OpenShift Container Platform release 4.20.20 现已正式发布。其固定问题列表包括在 RHBA-2026:12066 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:12063 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.20 --pullspecs
1.9.5.1. 修复的问题
  • 在此次更新之前,升级带有许多网络附加定义(NAD)共享同一网络名称的集群会导致使用 ovn-k8s-cni-overlay localnet NADs 的虚拟机丢失连接。因此,一些虚拟机不会创建逻辑端口,从而会破坏网络流量。在这个版本中,升级逻辑可以正确地处理 NAD 配置,从而促进一致的端口创建。因此,虚拟机在集群升级过程中和之后保持稳定连接。(OCPBUGS-78777)
  • 在此次更新之前,kube-apiserver 会在带有加密 etcd 的用户集群中推出部署会导致 TCP RST storms,从而导致应用程序 pod 流量丢弃。在这个版本中,这个问题已被解决,kube-apiserver rollouts 不再导致加密集群中的流量丢弃,提高了服务稳定性。(OCPBUGS-81477)
  • 在此次更新之前,在从受管到非受管置备网络时,metal3-static-ip-set YAML 文件中的子网配置不正确,阻止用户使用非受管置备网络创建路由。在这个版本中,metal3-static-ip-set YAML 文件为非受管置备网络设置正确的子网,从而解决了这个问题,并启用成功创建路由。(OCPBUGS-81643)
  • 在此次更新之前,Machine-config-controller 在单节点 OpenShift Container Platform 中使用缺陷的领导选举时间,从而导致非正常重启后出现 5 到 6 分钟的延迟。因此,在关键恢复期间,这会停滞 MachineConfig 渲染和池状态更新。在这个版本中,控制器会在单一节点 OpenShift Container Platform 上使用默认领导选举设置,在节点恢复后更快地过渡到 active 状态。因此,租期的获取时间会减少 50% 以上,允许集群操作立即恢复。(OCPBUGS-83393)
  • 在此次更新之前,在部署 Istio 工具时,Ingress Operator 没有正确设置 trustBundleName 配置,从而防止许多 Istio 实例存在。因此,运行并发实例会导致配置冲突和部署失败。在这个版本中,Ingress Operator 可以正确地应用 trustBundleName 配置,促进不同 Istio 实例之间的无缝共存。现在,用户可以在同一集群中维护许多 Istio 部署。然后,集群管理员可以手动删除任何旧的 ConfigMap 对象。(OCPBUGS-84132)
1.9.5.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 4 月 22 日

OpenShift Container Platform release 4.20.19 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:8430 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:8428 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.19 --pullspecs
1.9.6.1. 修复的问题
  • 在此次更新之前,集群存储帐户上启用了共享密钥访问,防止它迁移到 Azure Storage 的基于身份的访问。因此,共享密钥访问会导致安全问题,并会阻止迁移。在这个版本中,使用受管身份时会自动禁用共享密钥访问,从而促进无缝过渡到基于身份的访问。因此,禁用共享密钥访问提高了安全性。(OCPBUGS-37587)
  • 在此次更新之前,因为 Redfish VirtualMedia 挂载失败,用户在 NVIDIA DGX B200 节点置备过程中遇到问题。在这个版本中,改进了 BMC 上的 Redfish VirtualMedia 错误处理,解决问题并启用自动置备。(OCPBUGS-74405)
  • 在 OpenShift Container Platform 4.20 之前,因为文本和镜像值而发生 secret 编辑失败。这个问题导致用户无法在 OpenShift Container Platform 4.19.12 中使用文本和镜像值编辑 secret。在这个版本中,使用混合文本和二进制数据编辑 secret 已被修复。因此,用户可以使用 OpenShift Container Platform 4.20 中的文本和镜像值编辑 secret。(OCPBUGS-78295)
  • 在此次更新之前,OpenShift Container Platform 控制台中会累积其他 pod 的旧会话 Cookie,从而导致 HTTP cookie 标头长度超过 4096 字节。这会导致用户的会话问题。在这个版本中,清理旧的会话 Cookie,防止标头超过 4096 字节限制。(OCPBUGS-78366)
  • 在此次更新之前,在初始置备过程中更改 HostedCluster 发行镜像会导致永久死锁,因为 HostedCluster 和 Control Plane Operator (CPO)协调循环中的排序问题。因此,在 z-stream 更改过程中,HostedCluster 置备会永久死锁,从而导致集群不完整。在这个版本中,在初始置备过程中 HostedCluster 死锁可以通过重新排序协调步骤来解决。因此,在置备过程中更改发行镜像时,Azure Red Hat OpenShift 托管 control plane 集群置备不再永久死锁。(OCPBUGS-78474)
  • 在此次更新之前,如果服务目录中缺少 Octavia 负载均衡器端点,OpenStack 安装程序置备的基础架构安装 会失败。这会导致 cloud.yaml 文件中缺少负载均衡器详情,从而导致 Cloud Controller Manager (CCM) pod 崩溃,凭证同步失败。在这个版本中,当云配置中没有时,负载均衡器会被禁用。因此,因为缺少负载均衡器的详情,安装不再会失败。(OCPBUGS-78694)
  • 在此次更新之前,在创建裸机主机(BMH)后无法更改 spec.externallyProvisioned 字段。因此,在将硬件设置为外部置备程序前需要硬件检查的主机(如基于镜像的安装程序 O-RAN 部署)无法遵循所需的工作流(首先检查 externalProvisioned 字段设为 false,然后切换到 externallyProvisioned 字段设为 true)。在这个版本中,当主机处于 Available 状态或检查完成后,验证 Webhook 允许将 spec.externallyProvisioned 参数从 false 改为 true。因此,启用了工作流,其中 Bare Metal Operator (BMO)执行硬件检查来收集 CPU、内存、磁盘和 NIC 详情,然后是外部工具处理置备。将值从 true 改为 false 仍然被阻断,并在 Available 以外的任何状态中启用字段也会被拒绝。(OCPBUGS-78745)
  • 在此次更新之前,Baremetal Operator 的虚拟介质管理控制器(BMC)驱动程序需要 bootMACAddress 参数进行检查,因此无法执行自动 MAC 发现。因此,您需要手动指定 MAC 地址来检查使用基于虚拟介质的置备配置的裸机主机(BMH)。在这个版本中,虚拟介质 BMC 驱动程序使 bootMACAddress 参数对于硬件检查是可选的。因此,现在可以在不需要 bootMACAddress 参数的情况下成功创建并检查虚拟介质 BMC BMH,从而可以自动发现 MAC 地址,例如与 O-Cloud Manager 搭配使用。请注意,install-config、安装程序置备的基础架构安装和 assisted-installer 中仍然需要 bootMACAddress 参数。(OCPBUGS-78836)
  • 在此次更新之前,安装程序使用主机项目 ID 来确定启用 UserProvisionedDNS 时的 API Load Balancer IP。因此,在启用了 UserProvisionedDNS 的 GCP 上的 OpenShift Container Platform 4.20 上出现安装失败。在这个版本中,通过引用 Service Project ID 来确定 UserProvisionedDNS 的 API Load Balancer IP。这允许在 安装程序置备的基础架构 共享 VPC 安装中使用 UserProvisionedDNS。(OCPBUGS-79665)
  • 在此次更新之前,OpenShift Container Platform Lightspeed 代码导入中的不正确的 Monaco 编辑器引用会导致 YAML 编辑器在导入时保持不变,从而导致用户不便出现。在这个版本中,添加了一个检查以防止 编辑器 未定义错误。因此,导入后会在编辑器中正确填充 YAML,改进了用户体验。(OCPBUGS-81439)
  • 在此次更新之前,OpenShift Container Platform v4.20.8 和 4.20.10 中的 CatalogSource 问题是因为 registry.conf 中所有 Operator 缺少了镜像(mirror)。因此,用户无法在 Software Catalog 中查看 Operator,从而导致 No Catalog items found 错误。在这个版本中,useOperatorCatalogCategories hook 中针对 CatalogCategory 检索的问题已被修复。因此,用户可以使用 OCP v4.20.x 中的自定义目录源从控制台中的 Software Catalog 查看 Operator。(OCPBUGS-81678)
  • 在此次更新之前,Amazon Web Services (AWS) ISO 区域中的托管集群无法满足 Amazon Machine Image (AMI)覆盖,因为令牌生成中的代码问题。因此,因为不正确的 AMI 选择,AWS ISO 区域部署会失败,从而导致节点池创建失败。在这个版本中,AWS NodePool 令牌生成中的 AMI 覆盖会满足,防止 HCP 部署中失败。因此,AWS Hypershift 集群遵循 NodePool 规格中的 AMI 覆盖,允许在 ISO 区域中成功部署节点池。(OCPBUGS-81746)
  • 在此次更新之前,在从图形重定向到 query-browser 期间,URL 参数不正确的编码会导致问题。因此,alertmanager 中不正确的 URL 编码会导致查询中断,从而导致用户的警报数据不正确。在这个版本中,URL 编码问题从图形重定向到 query-browser 已被修复。因此,alertmanager URL 编码已被修正,确保准确查询结果。(OCPBUGS-82440)
1.9.6.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 4 月 9 日

OpenShift Container Platform release 4.20.18 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:6564 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:6559 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.18 --pullspecs
1.9.7.1. 功能增强
  • 在这个版本中,kubevirt-csi-driver 在解析 infra 虚拟机(VM)节点 ID 时允许基于注解的回退。此功能增强提供了一种更灵活且可靠的方法,用于从节点的 providerID 或注解解析 infra 集群虚拟机名称和命名空间,确保与非托管的 control plane 支持兼容。此功能改进了在非托管的 control plane 环境中的 kubevirt-csi-driver 操作,从而提供更顺畅、更一致的用户体验。(OCPBUGS-79064)
1.9.7.2. 已知问题
  • 在此次更新之前,Precision Time Protocol (PTP) Operator 的 Cloud Event Proxy 在边界时钟(T-BC)配置的 PTP 守护进程重启后不会报告正确的状态。因此,不会报告预期的 LOCKED 状态。在这个版本中,Cloud Event Proxy 在 PTP 守护进程重启后可以正确地报告 LOCKED 状态。(OCPBUGS-76372)
  • 在此版本之前,grandmaster 文件中的全局导航 satellite 系统(GNSS)串行端口自动检测问题会导致 GNSS 端口索引在重新引导后发生了变化,从而导致节点时间同步问题。要临时解决这个问题,请从 grandmaster PTPConfig 中删除 ts2phc.nmea_serialport 并重新引导节点。因此,重启后 GNSS 端口索引号不再改变,从而防止时间同步问题。(OCPBUGS-77749)
1.9.7.3. 修复的问题
  • 在此次更新之前,在没有所需状态 cookie 的情况下访问 /auth/error 页会显示一个空白页,并没有显示错误详情。这个版本改进了前端代码中的错误处理。因此,/auth/error 页会显示错误内容,以便更轻松地诊断和解决问题。(OCPBUGS-60912)
  • 在此次更新之前,/var/ostree-container 分区大小不足会触发镜像拉取失败。因此,因为分区大小不足,在用户置备的基础架构上运行的用户部署会失败。在这个版本中,/var/ostree-container 挂载的大小增加到 5GB。因此,镜像拉取问题会被解决,改进了部署。(OCPBUGS-77896)
  • 在此次更新之前,Azure 集群镜像生成使用固定的资源组模式,在使用自定义资源组时会导致默认镜像 ID 不正确。因此,带有自定义 Azure 资源组的用户置备失败,假设默认组 infraID-rg。在这个版本中,默认镜像资源 ID 使用指定的资源组而不是默认资源组。因此,为生成镜像 ID 修复了资源组命名模式,确保为 Azure 集群选择正确的镜像。(OCPBUGS-78424)
  • 在此次更新之前,OpenShift Container Platform 中的 Prometheus pod 会因为 API 使用量而生成重复的弃用警告。因此,这些不需要的日志消息会超载日志记录系统,从而可能会隐藏重要的信息。在这个版本中,在 Kubernetes API 日志中会取消复制弃用警告。因此,Prometheus pod 不会生成过量已弃用的警告,从而减少日志记录过载并提高性能。(OCPBUGS-78582)
  • 在此次更新之前,Cluster Autoscaler 在暂停时继续减少 MachineDeployment 副本,从而导致协调恢复。因此,因为集群自动扩展在 Cluster CAPI Operator 暂停时,机器会持续缩减副本。在这个版本中,Cluster Autoscaler 会按缩减操作跳过暂停的机器部署。因此,Cluster Autoscaler 在暂停 MachineDeployment 期间防止 catastrophic scale-down,确保用户体验。(OCPBUGS-78690)
  • 在此次更新之前,YAML 创建页面有一个空的 API 版本,从而导致运行时错误并阻止用户创建自定义资源定义(CRD)实例。因此,缺少侧边栏面板,阻止用户创建 CRD 实例。在这个版本中,我们解决了空 API 版本问题,为 MachineConfigServiceMonitor 和其他 CRD 添加了默认 API 版本。因此,用户可以创建 CRD 实例,并在侧边栏中显示帮助文本。(OCPBUGS-78839)
  • 在此次更新之前,OVN EgressFirewall 域名系统(DNS)解析的速度较慢的间隔会导致应用程序的 DNS 解析和防火墙控制器更新周期之间出现同步差距。因此,OVN 出口防火墙中的 DNS 解析速度较慢,这会导致在 Network Load Balancer (NLB)重新创建后应用程序访问延迟。在这个版本中,EgressFirewall DNS 刷新间隔已被调整,以便更快地解析。因此,EgressFirewall DNS 解析延迟会减少,从而提高了应用程序的响应。(OCPBUGS-79537)
  • 在此次更新之前,当排序非失败作业时,sortUnpackJobs 函数中会出现 nil pointer dereference。因此,Catalog Operator pod 会在单节点 OpenShift 集群安装过程中崩溃,从而导致 Operator 安装失败。在这个版本中,nil pointer dereference 被修复,改进了稳定性。因此,Operator 不会在单节点 OpenShift 集群安装过程中崩溃,确保成功安装 Operator。(OCPBUGS-79681)
  • 在此次更新之前,旧的 IBM Cloud vpc-go-sdk 版本无法处理带有任何协议的 SecurityGroup 规则,从而导致机器创建失败,因为与新的 Virtual Private Cloud (VPC)安全组规则不兼容。在这个版本中,VPC go Software Development Kit (SDK)已更新,以解决安全组规则的问题,允许新的 MachineSet 创建。因此,更新的 VPC Go SDK 解决了安全组规则创建问题,启用置备新 MachineSet 且没有错误。(OCPBUGS-81317)
1.9.7.4. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 3 月 25 日

OpenShift Container Platform release 4.20.17 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:5142 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:5140 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.17 --pullspecs
1.9.8.1. 修复的问题
  • 在此次更新之前,当请求的大小与 LVM 扩展边界(通常为 4MB)不匹配时,卷扩展会超时。因此,扩展在 LVM 级别成功,但 CSI 驱动程序会无限期等待完全匹配。在这个版本中,超时问题已被解决。(OCPBUGS-51139)
  • 在此次更新之前,部署和镜像覆盖中的频繁更新会导致 Ignition-server pod 频繁重启,因为 hypershift Operator 中的 registry 覆盖问题已被修复。因此,Ignition-server pod 重启已被解决,提高了集群的稳定性。(OCPBUGS-65682)
  • 在此次更新之前,当 Telco RAN Reference Design Specification (RDS)应用到通过 Tuned 配置集禁用 chronyd 时,依赖 chrony-wait 服务会失败,因为它会超时等待禁用的 chronyd 服务启动。在这个版本中,RDS 配置更新了 chrony-wait 服务来执行一次性同步检查,无需单独的 sync-time-once 服务。因此,即使 chronyd 被禁用,chrony-wait 服务也可以成功完成,从而导致服务失败。(OCPBUGS-73912)
  • 在此次更新之前,Kubevirt 机器对象仅限于一个 IPv4 地址,防止双栈 HCP 集群 CSR 自动应用。因此,双栈 HCP 集群部署会失败,从而防止因为 IPv6 地址的限制而导致自动 CSR 批准。在这个版本中,在 kubevirt 中扩展了双栈 HCP 集群 IP 支持。因此,OpenShift Virtualization 上的双栈 HCP 集群现在可以正确地显示两个 IP 地址,启用自动 CSR 批准。(OCPBUGS-74338)
  • 在此次更新之前,Baseboard Management Controller (BMC)固件缺少 UserNamePassword 参数的结构化错误响应,这会导致 BMC 在 NVIDIA Deep GPU Xceleration (DGX) B200 节点置备过程中拒绝 ISO 挂载。因此,自动置备会失败。在这个版本中,凭证的固件处理会被更新,它会在 Redfish InsertMedia 响应中添加对缺少 UserNamePassword 参数的处理。因此,Bare Metal Operator (BMO)和 Ironic 挂载失败会被解决,并启用自动置备 NVIDIA DGX B200 节点。(OCPBUGS-74405)
  • 在此次更新之前,最小集合配置集不包含 kube_pod_labels 指标。因此,在 web 控制台中,control plane 的状态显示为 unknown。在这个版本中,包含 kube_pod_labels 指标。因此,control plane 显示的状态是正确的。(OCPBUGS-74490)
  • 在此次更新之前,Cluster Version Operator (CVO)因为缺少权限和网络策略问题,在使用 RHOBS 监控的 ROSA HCP 集群中缺少指标访问。因此,用户无法对这些集群执行条件更新风险评估。在这个版本中,CVO 使用 RHOBS 监控访问指标,启用条件更新风险评估。现在,CVO 可以查询 Prometheus 指标来正确地评估条件更新风险,为集群升级提供准确的更新建议。(OCPBUGS-76324)
  • 在此次更新之前,安全性上下文约束(SCC)将 readOnlyRootFilesystem 值设置为 true。因此,会出现只读文件系统错误。在这个版本中,readOnlyRootFilesystem 值被明确设置为 false。因此,不会发生只读文件系统错误。(OCPBUGS-76340)
  • 在此次更新之前,Open Virtual Network (OVN)数据库更新没有传播到所有节点,并导致过时的 pod IP 地址接收用户诊断协议(UDP)流量。因此,UDP 流量被路由到过时的 pod IP 地址,并导致连接失败。在这个版本中,UDP 流量可以正确地路由到更新的 pod 端点,改进了服务可用性并减少错误。(OCPBUGS-77357)
  • 在此次更新之前,频繁的 ignition-server pod 更新会导致因为部署和容器镜像的变化而持续重启。因此,Ignition-server pod 会频繁重启,从而导致服务不稳定。在这个版本中,gnition-server pod 不会 flap 和重启,因为 hypershift-controlplane-manager 更新而重启。因此,ignition-server pod 重启会减少,改进了服务稳定性。(OCPBUGS-77366)
  • 在此次更新之前,因为 registry 模块中的用户 ID 查找失败,oc-mirror v2 会在容器化环境中失败。因此,由于未知用户 ID,用户在签名准备阶段出现容器化环境失败。在这个版本中,oc-mirror 现在可以在带有动态 UID 的容器化环境中工作。因此,在 OpenShift CI 等容器化环境中,oc-mirror v2 不再因为"未知 userid"错误而失败,从而提高了其兼容性和可靠性。(OCPBUGS-77416)
  • 在此次更新之前,Kubernetes API 服务器(KAS)访问与 4.20 及之后的版本中的 API 服务器的自定义端口冲突,从而导致用户因为 API 服务器端口不匹配而无法安装 Operator。在这个版本中,支持 KAS 的网络策略端口自定义,从而修复出口问题。因此,Operator 安装不再因为 API 服务器端口配置不正确而失败。(OCPBUGS-77582)
  • 在此次更新之前,因为缺少 RBAC 权限,Hub RDS 无法创建 Cluster Logging Operator CR。因此,Hub RDS 缺少所需的 RBAC 权限,防止创建 Cluster Logging Operator CR,影响日志集合。在这个版本中,添加了 Cluster Logging Oerator CR 的 Hub RDS RBAC 权限。因此,Hub RDS 现在会创建具有所需权限的 Cluster Logging Operator CR,改进了最终用户的日志集合。(OCPBUGS-77590)
  • 在此次更新之前,Downloads pod 不提供 RHEL 8 和 RHEL 9 二进制文件。在这个版本中,通过 Masthead 上的 Command Line Tools 链接提供了 Downloads pod 链接。(OCPBUGS-77771)
  • 在此次更新之前,有问题的 vCenter 匹配逻辑会在多中心 vSphere 集群中导致引导镜像更新失败。因此,在这种情况下,当启用了引导镜像更新时,Machine Config Operator (MCO)会降级。在这个版本中,匹配的 vCenter 逻辑已被修复。因此,引导镜像更新在 4.20.17 中对于多中心 vSphere 集群可以正常工作。(OCPBUGS-77883)
  • 在此次更新之前,当在 Developer 视角中,在项目详情页面上点 Add access on the Project access 标签页时,Save 按钮被禁用,并会出现潜在的错误。在这个版本中,Project access 选项卡可以正常工作。(OCPBUGS-77951)
  • 在此次更新之前,OLM v0 中的 NetworkPolicy 出口规则为 kube-apiserver 在静态清单和生成的策略间访问 kube-apiserver 硬编码端口 6443。因为 HyperShift 允许与 6443 不同的自定义 API 服务器端口,所以 OLM v0 组件(olm-operatorcatalog-operatorpackageserver)没有在使用自定义 API 端口的 HyperShift 集群中与 kube-apiserver 通信。因此,Operator 安装和目录操作会被阻止。在这个版本中,NetworkPolicy 出口规则被更新为在静态清单和动态策略生成代码中使用通配符(egress: [{}])用于 kube-apiserver 流量。另外,为将来的策略优化添加了显式 DNS 规则(端口 53、5353)。因此,OLM v0 支持带有任何配置的 API 服务器端口的 HyperShift 部署。(OCPBUGS-77958)
  • 在此次更新之前,etcd Operator 会随机删除 control plane 节点,从而导致重复和潜在的集群停机时间。因此,用户体验会被破坏,从而导致 etcd 集群中 control plane 节点潜在的丢失。在这个版本中,etcd Operator 会优先删除同一故障域索引中的成员,从而减少潜在的重复并改进了集群稳定性。因此,etcd Operator 可确保 control plane 使用三个节点保持稳定状态,从而防止潜在的服务中断。(OCPBUGS-78047)
  • 在此次更新之前,Cluster Version Operator (CVO)会错误地更新 kube-rbac-proxy ConfigMap,因为配置中没有识别的差异。因此,ConfigMap 更新会导致 kube-rbac-proxy-crio pod 在 OpenShift Container Platform 集群中不必要的重启。在这个版本中,CVO 不再更新 openshift-machine-config-operator 命名空间中的 kube-rbac-proxy ConfigMap。因此,kube-rbac-proxy-crio pod 没有不必要的重启。(OCPBUGS-78049)
1.9.8.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 3 月 11 日

OpenShift Container Platform release 4.20.16 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:3855 公告中。此更新中包括的 RPM 软件包由 RHSA-2026:3851 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.16 --pullspecs
1.9.9.1. 修复的问题
  • 在此次更新之前,Machine API Provider OpenStack (MAPO)会为每个协调创建一个事件,即使没有显著状态更改,如创建、更新或删除。这种过量事件生成会导致事件日志中出现大量通知,造成潜在的性能下降,并通常会中断监控和警报系统。在这个版本中,协调功能已被修改来捕获原始 ResourceVersion 值,且仅在机器 ResourceVersion 值更改时发出事件,表示实际的修改。另外,事件名称从 Reconciled 改为 Updated,以更好地与其他机器 API 供应商保持一致。(OCPBUGS-69645)
  • 在此次更新之前,指标端点会意外地将特定的系统错误消息泄漏到未授权的用户,提供详细查看内部应用程序逻辑而不是标准错误代码。在这个版本中,一个强大的异常处理层,清理所有未处理的故障,确保任何未授权或有问题的请求都不会返回通用的 500 Internal Server Error 消息。(OCPBUGS-75912)
  • 在此次更新之前,托管 control plane 路由器基础架构的路由标签逻辑被错误配置,从而导致系统错误地触发额外的 loadbalancer 服务创建。这种冗余服务创建会阻止平台从 OpenShift Container Platform 4.18 升级到 OpenShift Container Platform 4.19,防止迁移成功完成。在这个版本中,路由标签逻辑已被修正,以确保准确识别和管理基础架构服务。因此,系统不再尝试置备不必要的 负载均衡器服务,确保稳定的基础架构迁移和一致的资源管理。(OCPBUGS-75931)
  • 在此次更新之前,包含设置 use-sigstore-attachments: false 的 registry 配置文件被错误地视为系统未定义。这个 oversight 表示,oc-mirror 插件会忽略用户的意图,并生成一个全新的配置文件,而不是遵循现有设置。在这个版本中,代码已被修复,以便将显式的 false 值识别为有效的用户配置。现在,oc-mirror 插件可以正确地遵循用户现有的设置,防止不必要的文件覆盖并确保保留签名附加首选项。(OCPBUGS-76630)
  • 在此次更新之前,oc-mirror 插件重建的目录仅采用开放容器项目(OCI)格式,其创建兼容性问题,因为某些容器 registry 不接受这个特定格式。这个限制通常会在镜像过程中造成镜像上传失败或 registry 错误。在这个版本中,代码已被更新,允许将目录格式转换为目标容器 registry 接受的目录格式。因此,由 oc-mirror 插件生成的目录镜像转换不再会失败。但请注意,没有由 oc-mirror 插件构建的 OCI 镜像仍然失败。(OCPBUGS-76949)
  • 在此次更新之前,如果另一个名称相同的未跟踪的 ingress 资源位于另一个命名空间中,则 UnmanagedRoutes 警报会错误地为拥有路由的正确受管入口资源触发。即使第二个入口资源没有路由资源,也会出现这个问题。在这个版本中,控制器会使用冲突的名称正确识别这些入口资源。因此,只有在入口拥有路由且没有管理时,警报才会触发,即使存在具有相同名称的 ingress 资源。(OCPBUGS-76957)
  • 在此次更新之前,用户工作负载 Prometheus Operator 不会验证 AlertmanagerConfig 自定义资源的 Microsoft Teams 接收器配置中的 webhookURL secret 引用。因此,可以接受无效的或缺失的 webhookURL secret,从而导致用户工作负载 Alertmanager 在运行时崩溃。在这个版本中,用户工作负载 Prometheus Operator 会验证 Microsoft Teams 接收器的 webhookURL secret,在配置可能会影响 Alertmanager 前拒绝无效的配置。(OCPBUGS-77190)
  • 在此次更新之前,在 OpenShift Container Platform 4.15 版本中引入的回归会影响 AlertingRule 逻辑,从而导致使用不同的哈希重复 prometheusRules,但使用相同的警报规则。这个回归会导致系统生成重复的警报。由于这些警报中的一个不再被维护,所以此行为可能会造成混淆,并可能导致评估过时的表达式。在这个版本中,底层回归已被解决,将预期的行为和逻辑恢复到 AlertingRule 组件。(OCPBUGS-77272)
  • 在此次更新之前,Machine Config Operator (MCO)无法在安装过程中登录到 vCenter,这会导致 vSphere 凭证被错误地记录为登录错误消息的一部分。在这个版本中,错误消息已被更新以排除敏感详情,确保 MCO 在登录失败时不再记录凭证。(OCPBUGS-77472)
1.9.9.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 2 月 25 日

OpenShift Container Platform release 4.20.15 现已正式发布。其固定问题列表包括在 RHBA-2026:2987 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:2980 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.15 --pullspecs
1.9.10.1. 功能增强
  • 在这个版本中,系统确保 HostedControlPlaneHostedCluster 仅在所有 control plane 部分成功推出后可用。这可以通过使用 ControlPlaneComponent 资源来跟踪每个 control plane 部分的 rollout 状态来完成。此功能增强提高了系统可用性报告的可靠性和准确性,从而提供了更安全的用户体验。通过准确跟踪推出部署状态,系统会在初始置备 HostedCluster 期间降低意外问题的风险。(OCPBUGS-74775)
1.9.10.2. 修复的问题
  • 在此次更新之前,keepalived 容器中信号处理的问题会在节点重启时造成不必要的故障转移延迟。因此,对 API 和入口服务的访问会破坏。在这个版本中,信号处理已被修复,因此可以立即进行故障转移。因此,对 API 和入口服务中断会最小化。(OCPBUGS-69706)
  • 在此次更新之前,因为关闭阶段转换,集群删除会在检查阶段卡住。因此,集群不会被删除。在这个版本中,BMH 在 ZTP 环境中删除过程中不再卡住。因此,集群删除会在检查阶段无法卡住,这提高了 ZTP 环境的效率。(OCPBUGS-74987)
  • 在此次更新之前,Operator 的 catalog.json 中的重复频道会导致镜像失败。因此,因为重复的频道错误,一些 Operator 镜像操作会失败。在这个版本中,镜像问题已被修复,Enclaves 在没有重复的频道错误的情况下成功。(OCPBUGS-75007)
  • 在此次更新之前,订阅详情页面中的 溢出菜单为空,这会影响用户导航。在这个版本中,这个问题已被解决,菜单会正确填充相关操作。(OCPBUGS-75880)
  • 在此次更新之前,安全性上下文约束(SCC)还会设置 readOnlyRootFilesystem: true。因此,会出现只读文件系统错误。在这个版本中,SCC 将 readOnlyRootFilesystem 值设置为 false。因此,不会发生只读文件系统错误。(OCPBUGS-75933)
  • 在此次更新之前,collect-profiles 作业会受到维护困难的影响,从而导致客户和支持工程师在故障排除过程中造成混乱。在这个版本中,删除了 collect-profiles 作业,改进了用户体验并减少维护工作。(OCPBUGS-76335)
1.9.10.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 2 月 11 日

OpenShift Container Platform release 4.20.14 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026-2119 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:2076 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.14 --pullspecs
1.9.11.1. 修复的问题
  • 在此次更新之前,Cluster Version Operator (CVO)没有选择带有 hostUsers: false 值的 Operator 部署模板,并导致部署阻止用户访问配置。因此,在没有 hostUsers: false 影响的用户访问的情况下部署。在这个版本中,Operator 部署模板中的 hostUsers 问题已被修复,并确保它们由 CVO 选择。因此,带有 hostUsers: false 的 Operator 部署模板会被正确应用,确保一致的用户访问配置。(OCPBUGS-64828)
  • 在此次更新之前,无效的 installConfig Override 消息会导致注册失败,从而导致在 assisted-service 组件中跳过重新注册。因此,安装会失败。在这个版本中,无效的 installConfig Override 信息已被修复。因此,assisted-service 安装不会因为 installConfig Override 信息无效。(OCPBUGS-65901)
  • 在此次更新之前,当断开连接的 OpenShift Container Platform 集群时,Developer 视图中的软件目录会遇到问题,因为断开连接的 OpenShift Container Platform 集群会被删除。 因此,导航到 +Add 页面的用户会出现一个空软件目录并显示错误消息。在这个版本中,软件目录中的 Devfiles 数据查找被禁用,避免 +Add 页面中的错误,并解决 Error loading Catalog 项 信息。(OCPBUGS-74158)
  • 在此次更新之前,升级到 OpenShift Container Platform 4.18 会导致使用 ovn-k8s-cni-overlay localnet 网络地址转换(NAD)虚拟机(VM) pod 的网络连接丢失。因此,在升级过程中,VM pod 网络连接会丢失。在这个版本中,使用 ovn-k8s-cni-overlay localnet NADs 在集群升级过程中维护网络连接。因此,升级不会造成网络连接丢失。(OCPBUGS-74268)
  • 在此次更新之前,静态 pod 会预先终止,因为 kubelet 代理无法识别 priorityClassName 字段。因此,假设静态 pod 的终止会导致单节点 OpenShift 环境中出现长时间关闭时间和存储层问题。在这个版本中,静态 pod 在单节点 OpenShift 环境中确认 priorityClassName 字段用于关闭顺序。因此,静态 pod 遵循关闭顺序,从而减少了长时间的关闭时间和存储层问题。(OCPBUGS-74624)
  • 在此次更新之前,Google Cloud 安装会失败,因为 install-config 文件中对带有 AI 区域的区域未指定区会失败。在这个版本中,安装程序支持 us-south1us-central1 区域中的 AI 区域,并防止安装失败。(OCPBUGS-74674)
  • 在此次更新之前,Jobset-controller-manager pod 缺少列出集群范围内 pod 所需的权限,并阻止用户访问所需的 pod。在这个版本中,Jobset-controller-manager pod 被授予对所需资源的完整访问权限,解决 pod 就绪问题并改进用户体验。(OCPBUGS-75881)
1.9.11.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 2 月 4 日

OpenShift Container Platform release 4.20.13 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:1555 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:1547 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.13 --pullspecs
1.9.12.1. 功能增强
  • 在这个版本中,在 4.20 Machine-Config Operator 中引入了一个新的 guard 来保护依赖于镜像 OpenShift Container Platform 发行镜像的集群。此功能增强提前通知客户在断开连接的环境中运行,OpenShift Container Platform 4.21 需要 Sigstore 签名。此检查可确保用户收到其镜像必须托管在 OCI 兼容的 registry 中。因此,这样可保证它们使用与 4.21 版本一致的 oc-mirror 版本,来在有效负载中自动捕获所需的签名,从而防止因为缺少加密元数据升级失败。(OCPBUGS-73884)
1.9.12.2. 修复的问题
  • 在此次更新之前,Operator 项在没有 CloudCredential 资源的集群中的 Software Catalog 中不可见,因为需要这个可选资源。在这个版本中,删除了 CloudCredential 资源的要求,以便 Operator 始终出现在 Software Catalog 中。(OCPBUGS-72417)
  • 在此次更新之前,目录同步默认为 10 分钟轮询间隔,这在 etcd 所在的 master 节点上触发。这个活动高峰会经常强制 etcd 领导选举机制,意外地重置密钥上的 TTL 计数器,并防止 etcd 事件正确清除。在这个版本中,默认的轮询间隔增加到四个小时,以缓解本地集群和外部 registry 中的遍历。因此,系统可以避免 etcd knock-on 影响,同时破坏集群稳定性,同时减少 quay.io 或本地镜像的负载。(OCPBUGS-73876)
  • 在此次更新之前,删除序列会在仍然附加主网络接口卡(NIC)时尝试删除机器实例,这会与环境强制执行严格策略,以删除活跃服务器上的主 NIC。这创建了循环依赖项,导致机器删除失败或无限期挂起。在这个版本中,机器和端口删除顺序已被修正,以确保在正确的序列中弃用资源。现在,即使受限环境中也可以成功删除机器,确保可靠的资源清理并遵循本地安全策略。(OCPBUGS-74226)
1.9.12.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 1 月 27 日

OpenShift Container Platform release 4.20.12 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:1000 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:0977 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.12 --pullspecs
1.9.13.1. 已知问题
  • 如果 must-gather 归档带有以后缀 节点 结尾的自定义命名空间目录,则 Performance Profile Creator 工具无法分析存档。这是因为工具的搜索逻辑错误地报告 多个匹配 错误。要临时解决这个问题,请重命名自定义命名空间目录,使其不以 节点 后缀结尾,并再次运行该工具。(OCPBUGS-63751)
  • 升级到 OpenShift Container Platform 4.20 会设置不正确的 ulimit 值,并导致无服务器 Operator 问题。要解决这个问题,升级到比 OpenShift Container Platform 4.20.0-0.nightly-2026-01-16-181948 之后的每日构建。(OCPBUGS-70201)
1.9.13.2. 修复的问题
  • 在此次更新之前,MachineHealthCheck 自定义资源定义(CRD)中的 maxUnhealthy 字段不会记录默认值。在这个版本中,CRD 会记录默认值。(OCPBUGS-61314)
  • 在此次更新之前,容器中的 systemd 入口点会阻止配置映射挂载正常工作,从而导致文件权限问题。在这个版本中,systemd 入口点问题已解决,允许配置映射挂载具有正确的文件权限。因此,systemd 入口点问题已被解决,并确保配置映射挂载的正确文件权限。(OCPBUGS-66970)
  • 在此次更新之前,增加了发行版本有效负载大小是由不必要的高级 RISC Machines (ARM) ISO 包含而造成的。因此,所有用户在发行版本有效负载大小中都增加 1.2 GiB。在这个版本中,ARM ISO 从单一架构有效负载中删除,需要使用多架构有效负载。因此,发行版本有效负载大小会减少,用户的下载速度有所改进。(OCPBUGS-71203)
  • 在此次更新之前,存储 Operator 无法为 openshift-cluster-csi-drivers 命名空间中的 Prometheus ServiceAccount 创建 RoleBinding。因此,监控存储 Operator 命名空间会失败,防止 Prometheus 提取指标。在这个版本中,Prometheus 的 RoleBinding 会添加到 storage Operator 中。因此,Prometheus 可以访问存储 Operator 命名空间,这可以提高监控和减少 API 流量。(OCPBUGS-72563)
  • 在此次更新之前,Amazon Web Services (AWS)不一致会导致 实例 ID 泄漏,因为创建机器期间没有更新的逻辑。因此,机器创建会因为 AWS 响应和过时的代码不一致而泄漏实例。在这个版本中,实例 ID 存储在 机器创建过程中修复不一致,并防止虚拟机泄漏。因此,AWS 实例泄漏会被解决,并确保机器创建一致的。(OCPBUGS-72570)
  • 在此次更新之前,control plane 机器因为机器规格配置不正确而在不正确的可用区中创建。在这个版本中,在不正确的区中创建的 control plane 机器已被修复,并改进了集群稳定性。(OCPBUGS-73785)
1.9.13.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 1 月 20 日

OpenShift Container Platform release 4.20.11 现已正式发布。此更新中包括的固定问题列表记录在 RHSA-2026:0663 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:0661 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.11 --pullspecs
1.9.14.1. 功能增强
  • 在这个版本中,Cluster Network Operator 支持 KubeVirt 作为 OpenShift Virtualization 中双栈网络的平台,解决了 Kubemodules/zstream-4-20-1.adocVirt 被识别为双栈支持的平台。此功能增强启用了使用 IPv4 和 IPv6 双栈网络在 OpenShift Virtualization 上成功部署托管的 control plane。这改进了部署失败,并确保用户使用 KubeVirt 部署 OpenShift Virtualization 的用户更顺利。(OCPBUGS-66253)
1.9.14.2. 修复的问题
  • 在此次更新之前,已删除的域名系统(DNS) pod,然后在使用 OVN-Kubernetes 网络的 OpenShift Container Platform 集群中重新创建,从而导致在 worker 节点上保留不活跃的用户数据报协议(UDP)条目。在这个版本中,当 DNS pod 被删除或更新时,清理过程会正确使用服务端口 53 来匹配并删除不活跃的条目。(OCPBUGS-66049)
  • 在此次更新之前,与非标准输入一起使用的功能会导致意外行为,并导致因为错误日志时出现缓冲区溢出的问题。在这个版本中,数据库连接设置已被更新,以解决间歇性连接错误并确保错误日志记录功能。这些更新提高了系统稳定性和平稳操作。(OCPBUGS-69732)
  • 在此次更新之前,因为未批准的拉取请求(PR),在多架构环境中升级的同一版本会被错误地推荐。在这个版本中,建议在多架构环境中升级的正确版本。因此,在这些环境中改进了集群升级兼容性。(OCPBUGS-70180)
  • 在此次更新之前,worker 机器中的实例架构与 Amazon Machine Image (AMI)架构不匹配,这会导致用户的实例类型不匹配。这会导致安装失败。在这个版本中,x86_64 实例类型的 ARM64 AMI 架构不匹配会被解决。因此,安装过程不会因为架构不匹配而失败,并改进了 worker 机器的成功置备。(OCPBUGS-70322)
  • 在此次更新之前,在 Virtual Local Area Network (VLAN)接口上安装基于代理的 OpenShift Container Platform 过程中会出现 Red Hat Enterprise Linux CoreOS (RHCOS)网络超时。因此,RHCOS 节点无法在安装过程中自动配置网络。在这个版本中,RHCOS 网络自动配置超时已被修复,允许自动网络设置。因此,RHCOS 节点会在安装过程中自动配置网络。(OCPBUGS-71212)
1.9.14.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2026 年 1 月 13 日

OpenShift Container Platform release 4.20.10 现已正式发布。此更新中包括的固定问题列表记录在 RHBA-2026:0370 公告中。此更新中包括的 RPM 软件包由 RHBA-2026:0419 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.10 --pullspecs
1.9.15.1. 功能增强
  • 在这个版本中,Cluster Network Operator 支持 KubeVirt 作为 OpenShift Virtualization 中双栈网络的平台,解决了 KubeVirt 不被识别为双栈支持的平台。此功能增强允许在带有 IPv4/IPv6 双栈网络的 OpenShift Virtualization 上部署托管 Control Plane。这改进了部署失败,并确保用户使用 KubeVirt 部署 OpenShift Virtualization 的用户更顺利。(OCPBUGS-66235)
1.9.15.2. 修复的问题
  • 在此次更新之前,当 HyperShift HostedCluster 使用外部域名服务(DNS)域和具有 PublicAndPrivate 的端点访问时,允许CIDRBlocks 参数被错误地应用到内部 kube-apiserver,使 control plane Operator 处于错误状态。在这个版本中,control plane Operator 可以正常工作,并且 LoadBalancerSourceRanges 配置已添加到外部路由器 LoadBalancer 服务,确保外部 kube-apiserver 访问可以正确地限制到指定的 allowedCIDRBlocks。(OCPBUGS-63509)
  • 在此次更新之前,当使用 OVN-Kubernetes 网络在 OpenShift Container Platform 集群中删除并重新创建域名服务(DNS) pod 时,过时的用户数据报协议(UDP) conntrack 条目可能保留在 worker 节点上。这是因为 conntrack 清理逻辑错误地使用了端点端口(DNS pod 侦听的端口,通常为 5353),而不是在尝试删除过时的条目时的服务端口(端口客户端连接到 53)。在这个版本中,当删除或更新 DNS pod 时,清理过程会正确使用服务端口(53)匹配并删除过时的 conntrack 条目,确保 DNS 解析在 pod 生命周期事件中继续可靠地工作。(OCPBUGS-66049)
  • 在此次更新之前,因为已知的上游 HAProxy 错误,OpenShift Container Platform 4.16 及更新的版本无法遵守超时 http-keep-alive 设置,从而导致用户有效地管理连接持久性。缺少控制会导致连接行为不一致,其中长期会话可能会意外终止或保持打开的时间比正常更长。在这个版本中,HTTPKeepAliveTimeout 调优选项已集成到 IngressController API 中,为客户提供配置和强制实施这个特定超时的正式方法。因此,集群管理员现在具有必要的精细控制,使连接持久性与特定的应用程序需求保持一致。(OCPBUGS-66135)
  • 在此次更新之前,RHCOS 镜像分层中的更改会在集群引导过程中将 rendezvous 节点的临时临时文件系统中的空间使用量增加到大约 9.4 GiB。由于临时文件系统上限为 50% 的可用 RAM,所以因为容器镜像空间不足,在小于 19 GiB 内存的主机上安装会失败。在这个版本中,额外的数据已移到一个单独的临时文件系统中。因此,任何 rendezvous 主机满足 control plane 节点的最低 RAM 要求现在有足够的容量来成功引导集群。(OCPBUGS-66231)
  • 在此次更新之前,当 HyperShift HostedCluster 使用外部域名服务(DNS)域和具有 PublicAndPrivate 的端点访问时,允许CIDRBlocks 参数被错误地应用到内部 kube-apiserve,使 control plane Operator 处于错误状态。在这个版本中,control plane Operator 可以正常工作,并且 LoadBalancerSourceRanges 配置已添加到外部路由器 LoadBalancer 服务,确保外部 kube-apiserver 访问可以正确地限制到指定的 allowedCIDRBlocks。(OCPBUGS-66397)
  • 在此次更新之前,Bare Metal 平台上的清单集合和置备过程包括使用 cdc_ncm 驱动程序的网络设备。这会导致严重问题,因为这些虚拟网络接口卡(NIC)通常会在置备阶段触发错误或不稳定。在这个版本中,系统已更新,以使用 cdc_ncm 驱动程序显式忽略任何网络设备。因此,可以确保一个更加稳定且可靠的部署过程。(OCPBUGS-66934)
  • 在此次更新之前,Operand 详情页面会错误地使用 OpenShift Web 控制台中只有一半屏幕显示区域的信息。在这个版本中,Operand 详情会按预期执行完整页面宽度。(OCPBUGS-67136)
  • 在此次更新之前,当硬件检查或 BareMetalHost spec 没有架构信息时,Baremetal Operator 会默认使用 x86_64 架构。这会导致置备在基于 ARM 的裸机集群中失败。在这个版本中,Baremetal Operator 会自动检测并使用正在运行的控制器的架构,在 x86_64 和 ARM64 架构上启用成功的裸机置备。(OCPBUGS-69667)
  • 在这个版本中,当删除或更新服务端点时,清理过程会正确使用服务端口来匹配并删除过时的 conntrack 条目。此更改可确保网络连接在端点生命周期事件之间继续可靠地工作。(OCPBUGS-66049)
1.9.15.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 12 月 16 日

OpenShift Container Platform release 4.20.8 现已正式发布。此更新中包括的固定问题列表记录在 RHBA-2025:23103 公告中。此更新中包括的 RPM 软件包由 RHBA-2025:23101 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.8 --pullspecs
1.9.16.1. 修复的问题
  • 在此次更新之前,因为 Google Cloud Application Programming Interface (API)的输入/输出操作每秒(IOPS)验证错误,调整或克隆小的 Google Cloud hyperdisk 卷会失败。这是因为 Container Storage Interface (CSI)驱动程序不会自动调整置备的 IOPS,以满足新卷大小的最低要求。在这个版本中,驱动程序已被更新,以便在卷扩展操作过程中正确计算并提供所需的 IOPS。(OCPBUGS-62117)
  • 在此次更新之前,当 MachineDeployment 控制器升级其机器且集群自动扩展也会扩展 MachineDeployment 控制器时,集群自动扩展可以通过为使用的节点缩减 MachineDeployment 控制器来删除新机器。在这个版本中,当 MachineDeployment 控制器在升级其机器的过程中不会发生缩减机器。(OCPBUGS-63495)
  • 在此次更新之前,过滤机制不会处理某个范围是特定版本的场景,这会导致系统镜像比请求的客户更多的 Operator 版本。在这个版本中,逻辑已被修复,在只需要一个版本时忽略一个范围,确保只镜像特定的请求版本。(OCPBUGS-64647)
  • 在此次更新之前,AdminNetworkPolicyAdminPolicyBasedRouteListers,EgressFirewall,EgressQoS, 和 NetworkQoS 对象为已删除的节点保留 managedFields 状态条目,从而导致 etcd 中为频繁节点 churn 的大型集群构建过时的数据。在这个版本中,所有资源类型都会修复清理逻辑。(OCPBUGS-65514)
  • 在此次更新之前,Ingress Operator 在重启带有降级的 Ingress Controller 资源的过程中无法设置 ingress_controller_conditions 指标。因此,在 Operator pod 重启后,Ingress Controller 指标不可用。在这个版本中,Ingress Operator 会设置 ingress_controller_conditions 指标,该指标在重启后可用。(OCPBUGS-65664)
  • 在此次更新之前,控制台依赖于用户识别的全名,当用户共享类似名称时,这会产生潜在的不确定性。在这个版本中,显示逻辑会优先选择唯一标识符。因此,控制台会显示用户名而不是全名作为显示名称。(OCPBUGS-65793)
  • 在此次更新之前,当向正在运行的 pod 打开终端时,每当 pod 的注解改变时,会话会断开连接。在这个版本中,当注解改变时,终端会话不会断开连接。(OCPBUGS-65900)
  • 在此次更新之前,缺少单元转换公式,这会导致在选择了缺少的公式之一时显示 未定义的 单位。在这个版本中,添加了缺少的单元转换公式,确保结果显示正确的单元,而不是显示 未定义 状态。(OCPBUGS-65947)
1.9.16.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期: 2025 年 12 月 2 日

OpenShift Container Platform release 4.20.6 现已正式发布。其固定问题列表包括在 RHSA-2025:22257 公告中。此更新中包括的 RPM 软件包由 RHSA-2025:22255 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.6 --pullspecs
1.9.17.1. 功能增强
支持在没有外部 registry 的情况下安装集群(技术预览)
作为技术预览,您可以使用自包含的安装介质在没有外部 registry 的情况下部署集群,该介质还提供与 Assisted Installer 在内部安装过程中类似的简单用户界面。

如需更多信息,请参阅以下文档:

1.9.17.2. 修复的问题
  • 在此次更新之前,因为基于标签的检索失败,CloudFront 对象分布不会被删除,并导致资源持久性,包括原始访问身份。在这个版本中,在使用 distribution 命令后,CloudFront 原始访问身份会被删除。因此,在使用 delete 命令后,CloudFront 对象分布和原始访问身份会被删除。(OCPBUGS-63690)
  • 在此次更新之前,Redfish API 电源接口中的一个竞争条件会导致电源操作在同时访问过程中失败。因此,用户无法管理电源设置。在这个版本中,Redfish API power 接口中的竞争条件已被解决。(OCPBUGS-64850)
  • 在此次更新之前,Ironic API 服务公告一个无法访问的 IP 地址,因为没有可访问性检查。因此,无法访问的 Ironic API 服务会导致用户不可用服务。在这个版本中,Ironic API 服务的公告 IP 地址会检查可访问性。因此,Ironic API 服务的公告 IP 地址可以被访问。(OCPBUGS-65519)
  • 在此次更新之前,在 CentralUSEUAP hub 中创建 worker 虚拟机(VM)创建失败是因为 Microsoft Messaging API (MAPI)代码中有一个硬编码的 platformUpdateDomainCount 参数。因此,这会导致 Microsoft Azure CentralUSEUAP hub 中的 可用性设置配置 和虚拟机创建失败。在这个版本中,硬编码的 platformUpdateDomainCount 参数被更新,以匹配 CentralUSEUAP hub 中的参数。因此,worker 虚拟机会在没有 可用性设置 错误的情况下创建。(OCPBUGS-65708)
1.9.17.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 11 月 25 日

OpenShift Container Platform 版本 4.20.5 现已正式发布。此更新中包括的固定问题列表记录在 RHBA-2025:21811 公告中。此更新中包括的 RPM 软件包由 RHBA-2025:21809 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.5 --pullspecs
1.9.18.1. 功能增强

此 z-stream 发行版本中包括对外部 OpenID Connect (OIDC)身份提供程序进行直接身份验证的以下改进:

带有外部 OIDC 身份提供程序的直接身份验证正式发行(GA)
现在,外部 OIDC 身份提供程序使用直接身份验证是正式发布(GA)。此身份验证方法绕过内置的 OAuth 服务器,并直接使用外部身份提供程序。
支持其他身份提供程序

以下 OIDC 身份提供程序现在支持直接身份验证:

  • Active Directory Federation Services for Windows Server
  • GitLab
  • Google
  • Okta
  • Ping 身份
  • 红帽单点登录
取消激活 OAuth 服务

现在,当您配置直接身份验证时,以下内部 OAuth 资源会被禁用:

  • OpenShift OAuth 服务器和 OpenShift OAuth API 服务器
  • 用户和组 API (*.user.openshift.io)
  • OAuth API (*.oauth.openshift.io)
  • OAuth 服务器和客户端配置
重要

在配置直接身份验证前,请确保您没有依赖于这些删除的资源。

支持其他声明映射
现在,在配置外部 OIDC 供应商进行直接身份验证时,您可以使用 uidextra 声明映射字段。

如需更多信息,请参阅使用外部 OIDC 身份提供程序启用直接身份验证

1.9.18.2. 已知问题
  • 当使用 GitLab 或 Google 作为外部 OIDC 身份提供程序进行直接身份验证时,点 OpenShift Container Platform Web 控制台中的 Log out 不会从控制台注销。(OCPBUGS-61649)
  • 当使用 Active Directory Federation Services for Windows Server 作为外部 OIDC 身份提供程序进行直接身份验证时,登录到 OpenShift Container Platform Web 控制台会产生身份验证错误。作为临时解决方案,重新加载 Web 控制台直到正确显示为止。(OCPBUGS-62142)
  • 如果您使用外部 OIDC 供应商配置直接身份验证,且没有在 OIDC 供应商配置中为 issuerCertificateAuthority 提供值,Machine Config Operator 会降级。这可能导致 Console Operator 降级,一些 control plane 节点可能无法可用。作为临时解决方案,为签发者设置 issuerCertificateAuthority 值。(OCPBUGS-62011)
1.9.18.3. 修复的问题
  • 在此次更新之前,当这些 pod 所在的其中一个节点未就绪或不可用时,openshift-authentication 命名空间中的 oauth pod 可能会卡住。这会导致身份验证完全停止,直到已阻断的 rollout 结束为止。在这个版本中,即使不健康的节点停机或不可用时,pod 也可以继续滚动更新 (OCPBUGS-61896)
  • 在此次更新之前,项目概述中的警报不可见,因为应用程序正在查询不正确的 API。在这个版本中,应用程序会查询正确的 API 并显示项目警报。(OCPBUGS-63125)
  • 在此次更新之前,OpenShift Container Platform 上的聚合 API 服务器置备了 in-memory 回送证书,它们只在 1 年有效期。在这个版本中,OpenShift Container Platform 上的聚合 API 服务器置备了 in-memory 回送证书,它们在 3 年内有效。(OCPBUGS-63532)
  • 在此次更新之前,当直接导航到由 Web 控制台动态插件创建的页时,Web 控制台可能会重定向到不同的 URL。在这个版本中,URL 重定向已被删除。(OCPBUGS-63616)
  • 在此版本之前,对 netpol 资源的任何不相关的更改都会触发对象的完整协调,包括删除和重新添加规则。在这个版本中,如果需要,netpol 对象会完全协调。否则,会跳过它。(OCPBUGS-64590)
  • 在此次更新之前,Horizontal Pod Autoscaler (HPA) 表单会错误地强制 CPU 和内存值强制用户使用 YAML 进行单统计 HPA (如仅内存)或依赖默认的 CPU 设置。在这个版本中,表单已被更新,并将字段留空,现在可以正确省略该指标,允许用户从 web 表单创建仅 CPU、仅内存或默认的 80% CPU HPA。(OCPBUGS-64639)
  • 在此次更新之前,使用 --node-name 参数用于 pod 的节点关联性时可以将一个 must-gather pod 调度到一个特定的 worker 节点,这只可以被 control plane 节点接受。在这个版本中,must-gather 逻辑会被更新,它在设置了 --node-name 参数时不再设置节点关联性。(OCPBUGS-65523)
1.9.18.4. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 11 月 18 日

OpenShift Container Platform 版本 4.20.4 现已正式发布,其中包括安全更新。其固定问题列表包括在 RHBA-2025:21228 公告中。此更新中包括的 RPM 软件包由 RHBA-2025:21223 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.4 --pullspecs
1.9.19.1. 修复的问题
  • 在此次更新之前,Web 控制台中的 pod 横向自动扩展(HPA)表单错误地需要您为 CPU 和内存使用率提供值,即使 API 允许使用单一指标或没有指标(使用 API 默认)创建 HPA。因此,您无法使用表单来创建单指标 HPA,如仅限内存,或依赖 API 默认 (80% CPU) 的 HPA。此问题要求您对这些常见配置使用 YAML 视图。在这个版本中,HPA 表单逻辑被更新为与 API 一致,以便用户界面不再需要这两个字段才能完成。因此,空 utilization 字段可以正确地省略 HPA 清单中的 HPA 指标,它允许 API 应用其默认行为或创建单指标 HPA。您可以使用 HPA 表单来创建单指标 HPA,例如,仅限 CPU 或仅限内存。如果这两个使用字段都为空,则创建 HPA 并正确回退到 API 默认 80% CPU 使用率。(OCPBUGS-63339)
  • 在此次更新之前,在从 etcd 3.5.19 更新到 3.6 版本时,错误成员资格数据可能会传播到新成员。因此,集群更新失败,并显示在集群中有太多的 learner 成员错误。在这个版本中,etcd 被更新至 3.5.24,它解决了与成员资格相关的错误修复。(OCPBUGS-63474)
  • 在此次更新之前,如果找不到私钥,ccoctl 工具会自动生成新的密钥对,即使用户有意仅提供作为安全流程记录的公钥。此行为会导致一个问题,因为新生成的密钥与集群的密钥不匹配,从而导致用户按照正确的流程进行会造成服务中断。在这个版本中,相关程序已被修改,确保在指定 -public-key-file 参数时永远不会生成新的密钥对,且此参数添加到所有 create-all 功能中以实现一致性。因此,指定公钥文件现在保证使用了提供的密钥,确保集群在不中断的情况下继续按预期工作。(OCPBUGS-63546)
  • 在此次更新之前,Kubernetes 二进制文件的二进制版本数据被错误地设置为 v0.0.0,这会导致漏洞扫描工具出现问题。在这个版本中,构建问题已被修复。因此,会显示最新的上游 kube 版本,如 v1.33.5。(OCPBUGS-63749)
1.9.19.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 11 月 11 日

OpenShift Container Platform 版本 4.20.3 现已正式发布,其中包括安全更新。此更新中包括的固定问题列表记录在 RHSA-2025:19890 公告中。此更新中包括的 RPM 软件包由 RHBA-2025:19888 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.3 --pullspecs
1.9.20.1. 修复的问题
  • 在此次更新之前,因为缺少服务连接,通信列表项目无法为主节点上的开放端口 9193 和 9194 创建 EndPointSlice 对象。因此,会导致不准确的通信列表。在这个版本中,服务连接到打开端口 9193 和 9194,它解决了缺少的 EndPointSlice 对象。因此,在主节点上打开端口 9193 和 9194,为 OpenShift Container Platform 用户生成准确的通信列表。(OCPBUGS-63587)
  • 在此次更新之前,指标 denylist 会错误地格式化 kube_customresource 的正则表达式,省略 annotations 字段。因此,用户因为 denylist 配置不正确而缺少指标。在这个版本中,不必要的条目会从指标 denylist 中删除。因此,registry 指标包括缺少的注解,这提高了数据准确性。(OCPBUGS-64577)
1.9.20.2. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期: 2025 年 11 月 4 日

OpenShift Container Platform 版本 4.20.2 现已正式发布,其中包括安全更新。此更新中包括的固定问题列表记录在 RHSA-2025:19296 公告中。此更新中包括的 RPM 软件包由 RHBA-2025:19294 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.2 --pullspecs
1.9.21.1. 功能增强
  • 在这个版本中,adm upgrade recommend 命令检索并显示可用于集群更新的关键和非关键警报。集群管理员还可以在 --version 命令中使用一个新的 --accept 选项以接受特定的可接受的问题。如果检测到未接受的问题,命令会以非零值退出。(OCPBUGS-61757)
1.9.21.2. 修复的问题
  • 在此次更新之前,如果 NetworkManager 在由 NMState 管理的 br-ex 接口的节点上重启或崩溃,节点会丢失网络连接。在这个版本中,在分配程序脚本中添加了一个回退检查,以便在找不到标准 br-ex 网桥 ID 时检查 br-ex-br 网桥 ID 来检测 NMState 管理的 br-ex 接口。因此,当 NetworkManager 重启或崩溃时,具有此接口类型的节点不会丢失网络连接。(OCPBUGS-62167)
  • 在此次更新之前,配置映射内容中的 driver-config 参数会因为 Go randomized map iteration 顺序而波动。因此,即使实际数据没有改变,存储类和相关组件也出现在每个协调循环的不同序列中。在托管集群命名空间中频繁和不必要的配置映射更新会导致不稳定和潜在的性能问题。在这个版本中,为存储集群、每个组中的存储类、每个组中的卷快照类和 allowList 数组实施一致的字母排序来确保确定的输出。因此,driver-config 配置映射不会遇到内容流动,这消除了不必要的更新并提高了稳定性。(OCPBUGS-62806)
  • 在此次更新之前,在一个发行版本中缺少清单文件会导致 TechPreviewNoUpgrade 集群没有存在于集群中的 Cluster Version Operator (CVO) API 对象。因此,集群管理员无法在 TechPreviewNoUpgrade 集群中更改 CVO 的日志级别。在这个版本中,会添加缺少的清单文件。因此,CVO 日志级别可以在 TechPreviewNoUpgrade 集群中更改。(OCPBUGS-63001)
  • 在此次更新之前,当运行由 Node Tuning Operator (NTO) 拥有的 ocp-tuned-one-shot.service systemd 单元时,可能会为 kubelet 发生依赖项失败。因此,kubelet 不会启动。在这个版本中,运行 ocp-tuned-one-shot.service 单元不会导致依赖项失败。因此,kubelet 在运行单元时启动。(OCPBUGS-63334)
  • 在此次更新之前,Observe → Metric 页使用集群范围的 metrics API,即使您没有集群范围的指标 API 权限。因此,查询输入会显示错误,查询输入的自动填充无法正常工作,而无需集群范围的指标 API 访问。在这个版本中,如果您没有集群范围的指标 API 权限,则会使用 namespace-tenancy metrics API 权限,因此不会发生错误,并自动填充用于所选命名空间中的指标。(OCPBUGS-63440)
  • 在此次更新之前,节点日志长度没有限制。因此,非常大的日志可能会阻止日志显示,或导致浏览器崩溃。在这个版本中,节点日志长度限制为 1,000 行。因此,日志会正确显示。(OCPBUGS-63470)
  • 在此次更新之前,Azure 机器供应商不会将 dataDisks 配置从 MachineSet 规格传递给 Azure Stack Hub 的虚拟机创建 API 请求。因此,在没有指定数据磁盘的情况下创建新机器,因为配置在虚拟机创建过程中静默忽略。在这个版本中,Azure Stack Hub 的虚拟机创建会被更新,使其包含 dataDisks 配置。额外的更新手动实现控制器中的 deletionPolicy: Delete 参数的行为,因为 Azure Stack Hub 不原生支持这个选项。因此,在 Azure Stack Hub 虚拟机上会正确置备数据磁盘。Delete 策略也可以正常工作,可确保在机器被删除时正确删除磁盘。(OCPBUGS-63535)
  • 在此次更新之前,internalUser 参数默认为 true。因此,如果您在创建或更新自定义资源(CR)时没有指定这个值,则外部用户的默认值为 true。在这个版本中,默认值改为 false。因此,如果外部用户尝试使用内部用户凭证访问 https://sftp.access.redhat.com,则参数值为 internalUser=false。(OCPBUGS-63579)
1.9.21.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 10 月 28 日

OpenShift Container Platform release 4.20.1 现已正式发布,其中包括安全更新。此更新中包括的固定问题列表记录在 RHSA-2025:19003 公告中。此更新中包括的 RPM 软件包由 RHEA-2025:19001 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.1 --pullspecs
1.9.22.1. 已知问题
  • 从 OpenShift Container Platform 4.20 开始,容器的默认最大打开文件软限制较低。因此,最终用户可能会遇到应用程序失败。要临时解决这个问题,请增加容器运行时(CRI-O) ulimit 配置。(OCPBUGS-62095)
1.9.22.2. 修复的问题
  • 在此次更新之前,i iDRAC10 硬件置备失败,因为 Dell Original Equipment Manufacturer (OEM) Target 属性的数据类型不正确,并使用不正确的虚拟介质插槽。因此,用户无法置备 Dell iDRAC10 服务器。在这个版本中,可以置备 Dell iDRAC10。(OCPBUGS-52427)
  • 在此版本之前,同一控制器的两个相同副本在 configmap 中更新相同的证书颁发机构(CA)捆绑包,从而导致它们接收不同的元数据输入,重写彼此的更改,并创建重复的事件。在这个版本中,控制器使用 optimistic update 和 server-side apply 来避免更新事件并处理更新冲突。因此,元数据更新不再触发重复的事件,并正确设置了预期的元数据。(OCPBUGS-55217)
  • 在此次更新之前,当在 IBM Power Virtual Server 上安装集群时,您只能为现有的 Transit Gateway 或虚拟私有云(VPC)指定名称。由于名称的唯一性无法保证,这可能导致冲突和安装失败。在这个版本中,您可以为 Transit Gateway 和 VPC 使用通用唯一标识符(UUID)。通过使用唯一标识符,安装程序可以明确地识别正确的 Transit Gateway 或 VPC。这可防止命名冲突,并解决了这个问题。(OCPBUGS-59678)
  • 在此次更新之前,Precision Time Protocol (PTP) Operator 的 Cloud 事件代理会错误地解析 BF3 网络接口卡(NIC)名称,从而导致接口别名被错误地格式化。因此,不正确的解析会导致最终用户错误地解释云事件。在这个版本中,Cloud 事件代理已被更新,以便在 PTP Operator 中正确解析 BF3 NIC 名称。在这个版本中,改进了对 BF3 NIC 名称的解析,确保 PTP Operator 的正确事件发布。(OCPBUGS-60466)
  • 在此次更新之前,带有 OVN-Kubernetes Localnet 网络(映射到 br-ex 网桥)中的二级接口的 pod 可以与使用默认网络连接的相同节点上的 pod 通信,只有在 Localnet IP 地址与主机网络位于同一个子网中时。在这个版本中,localnet IP 地址可以从任何子网中提取;在这种一般情况下,集群外的外部路由器应该将 localnet 子网连接到主机网络。(OCPBUGS-61453)
  • 在此次更新之前,Precision Time Protocol (PTP) Operator 会错误地解析网络接口控制器(NIC)名称。因此,接口别名被错误地格式化,这会影响在使用 Mellaonox 卡发送时钟状态事件时识别 PTP 硬件时钟(PHC)。在这个版本中,PTP 可以正确地解析 NIC 名称,以便生成的别名与 Mellanox 命名约定匹配。Mellanox 卡现在可以在发送时钟状态事件时准确识别 PHC。(OCPBUGS-61581)
  • 在此次更新之前,当只设置了 token-auth-azure 注解时,会缺少 cluster in workload identity mode 警告,这可能会导致错误配置。在这个版本中,在显示警告时添加了 token-auth-azure 注解的检查。因此,只使用 Azure Workload Identity 的集群现在会如预期在工作负载身份模式中显示 "cluster。(OCPBUGS-61861)
  • 在此次更新之前,Web 控制台中的 YAML 编辑器将默认为使用 4 个空格的缩进 YAML 文件。在这个版本中,默认的缩进已改为 2 个空格,使其与建议一致。(OCPBUGS-61990)
  • 在此次更新之前,使用用户提供的 ignition-server-serving-certignition-server-ca-cert secret' 以及 disable-pki-reconciliation 注解 部署托管 control plane,从而导致系统删除用户提供的 ignition secret 和 ignition-server pod 失败。在这个版本中,在删除 disable-pki-reconciliation 注解的 delete 操作后,ignition-server secret 会保留,确保 ignition-server pod 启动。(OCPBUGS-62006)
  • 在此次更新之前,如果节点上的 OVNKube-controller 无法处理更新并配置其本地 OVN 数据库,则 OVN-controller 可以连接到这个过时的数据库。这会导致 OVN-controller 使用过时的 EgressIP 配置,并为可能已移至不同节点的 IP 地址发送不正确的 Gratuitous ARP (GARP)。在这个版本中,当 OVNKube-controller 没有处理更新时,OVN-controller 会阻断发送这些 GARP。因此,确保 GARP 不会根据过时的数据库信息发送网络中断。(OCPBUGS-62273)
  • 在此次更新之前,当未处理的自定义资源定义(CRD)更改时,升级 ClusterExtension 可能会因为验证状态生成大型 JSON diff。这个 diff 通常会超过 Kubernetes 的32 KB 限制,从而导致状态更新失败,并使用户无法获得有关升级没有发生的原因的信息。在这个版本中,diff 输出会被截断并总结没有处理的情况,而不是包括完整的 JSON diff。这样可确保状态更新保持在大小限制范围内,允许它们成功发布,并为用户提供明确的、可操作的错误消息。(OCPBUGS-62722)
  • 在此次更新之前,gRPC 连接日志在高度详细的日志级别设置。这会生成大量消息,这会导致日志溢出。在这个版本中,gRPC 连接日志已移到 V (4)日志级别。因此,日志不再溢出,因为现在这些特定信息默认是不详细的方式。(OCPBUGS-62844)
  • 在此次更新之前,在没有显示其版本的情况下运行 oc-mirror 会导致调试时出现延迟,因为不知道带有所需修复的正确版本。因此,用户无法识别 oc-mirror 版本,从而会影响调试过程。在这个版本中,oc-mirror 会在输出中显示其版本,从而更快地调试并确保正确的修复应用程序。(OCPBUGS-62283)
  • 在此次更新之前,当 cluster-api-operator kubeconfig 控制器试图在令牌值被完全填充前使用重新生成身份验证令牌 secret 时会出现一个错误。这会导致用户每 30 分钟出现重复的、临时协调错误,这会使 Operator 处于短暂出现降级状态。在这个版本中,控制器会等待身份验证令牌在 secret 中填充,然后再继续,防止 Operator 进入降级状态并消除重复的错误。(OCPBUGS-62755)
  • 在此次更新之前,在 OpenShift Container Platform 4.19.9 中,Cluster Version Operator (CVO)开始在指标请求中需要 bearer 令牌身份验证。因此,这会破坏托管 control plane 集群上的指标提取器,因为它们没有提供客户端身份验证。在这个版本中,CVO 不再需要对托管 control plane 集群中的指标请求进行客户端身份验证。(OCPBUGS-62867)
  • 在此次更新之前,在故障切换过程中,如果在两个节点上都会短暂地存在,则系统的重复地址检测(DAD)可能会错误地禁用 Egress IPv6 地址,从而破坏了网络连接。在这个版本中,Egress IPv6 配置为跳过故障切换期间的 DAD 检查,保证 Egress IP 地址成功移到不同的节点后保持不间断的出口 IPv6 流量,并确保获得更大的网络稳定性。(OCPBUGS-62913)
1.9.22.3. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

发布日期:2025 年 10 月 21 日

OpenShift Container Platform release 4.20.0 现已正式发布,其中包括安全更新。其固定问题列表包括在 RHSA-2025:9562 公告中。此更新中包括的 RPM 软件包由 RHEA-2025:4782 公告提供。

因篇幅原因,没有在这个公告中包括此版本的所有容器镜像信息。

您可以运行以下命令来查看此发行版本中的容器镜像:

$ oc adm release info 4.20.0 --pullspecs
1.9.23.1. 更新

要将 OpenShift Container Platform 4.20 集群更新至此最新版本,请参阅使用 CLI 更新集群

第 2 章 其他发行注记

没有包括在核心的 OpenShift Container Platform 4.20 发行注记中的额外的相关组件和产品的发行注记包括在以下文档中。

重要

以下发行注记仅用于下游红帽产品;不包括相关产品的上游或社区发行注记。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部