1.6. 程序错误修复


裸机硬件置备
  • 在以前的版本中,尝试使用 Redfish 在特定硬件型号上配置 RAID 可能会导致以下错误:The attribute StorageControllers/Name is missing from the resource。在这个版本中,验证逻辑不再需要 Name 字段,因为 Redfish 标准不强制使用该字段。(OCPBUGS-38465)
  • 在以前的版本中,Red Hat Redfish Bare Metal Operator (BMO) 模块中的 iDRAC9 Redfish 管理接口错误地设置为 iPXE。这会导致错误 Could not find the following interface in the ironic.hardware.interfaces.management entrypoint: ipxe,部署在基于 Dell Remote Access Controller (iDRAC) 的服务器上会失败。在这个版本中,这个问题已解决。(OCPBUGS-37261)
Builds
  • 在以前的版本中,构建无法设置 GIT_LFS_SKIP_SMUDGE 环境变量,并在克隆源代码时使用其值。这会导致构建对于带有 LFS 文件的一些 Git 仓库失败。在这个版本中,构建可以设置此环境变量,并在构建的 git clone 步骤中使用它,从而解决这个问题。(OCPBUGS-33215)
  • 在以前的版本中,如果开发人员或集群管理员将小写环境变量名称用于代理信息,则这些环境变量会传送到构建输出容器镜像中。在运行时,代理设置处于活跃状态,必须取消设置。在这个版本中,*_PROXY 环境变量的小写版本无法泄漏构建的容器镜像。现在,buildDefaults 仅在为构建过程创建的构建和设置期间保留,仅在推送 registry 中的镜像前删除。(OCPBUGS-12699)
Cloud Compute
  • 在以前的版本中,机器控制器无法保存实例模板克隆操作的 VMware vSphere 任务 ID。这会导致机器进入 Provisioning 状态并关闭电源。在这个版本中,VMware vSphere 机器控制器可以检测到这个状态并从这个状态恢复。(OCPBUGS-1735)
  • 在以前的版本中,当 machine-api Operator 删除处于 ERROR 状态的服务器时,它会做出反应。这是因为服务器没有传递端口列表。在这个版本中,删除处于 ERROR 状态的机器不会造成 Operator 反应。(OCPBUGS-33806)
  • 在以前的版本中,因为缺少权限,您无法在 Microsoft Azure Workload Identity 集群上配置容量保留。在这个版本中,Microsoft.Compute/capacityReservationGroups/deploy/action 权限作为默认凭证请求添加到 <infra-name>-openshift-machine-api-azure-cloud-credentials 自定义角色中,因此您可以按预期配置容量保留。(OCPBUGS-37154)
  • 在以前的版本中,集群自动扩展的可选内部功能会在未实现时重复日志条目。这个问题已在本发行版本中解决。(OCPBUGS-33592)
  • 在以前的版本中,与重新引导机器关联的节点会短暂处于 Ready=Unknown 状态,这会触发 Control Plane Machine Set Operator 中的 UnavailableReplicas 条件。此条件导致 Operator 进入 Available=False 状态并触发警报,因为该状态表示需要立即管理员干预的非功能组件。重新引导时,不应为简短和预期的未提供警报触发此警报。在这个版本中,添加了节点未就绪的宽限期,以避免触发不必要的警报。(OCPBUGS-20061)
  • 在以前的版本中,当在没有功能且之后启用构建功能的情况下安装 OpenShift Container Platform 集群时,不会创建相关的 Build 集群配置自定义资源定义 (CRD)。在这个版本中,会创建 Build 集群配置 CRD 及其默认实例。这允许完全配置和自定义构建功能。(OCPBUGS-34395)
  • 在以前的版本中,与 Image Registry、Build 和 DeploymentConfig 功能相关的角色绑定都会在每个命名空间中创建,即使禁用了功能。在这个版本中,只有在集群中启用了功能时,才会创建角色绑定。(OCPBUGS-34077)
Cloud Credential Operator
  • 在以前的版本中,集群中的 secret 会在一个单一调用中获取。当有大量 secret 时,API 会超时。在这个版本中,Cloud Credential Operator 会批量获取 secret(每次仅限 100 个 secret)。这个更改可防止集群中出现大量 secret 超时。(OCPBUGS-41233)
  • 在以前的版本中,当 AWS 安全令牌服务使用手动模式的集群中没有 awsSTSIAMRoleARN 角色时,Cloud Credential Operator 会报告一个错误。在这个版本中,Cloud Credential Operator 不再报告为错误。(OCPBUGS-33566)
  • 在以前的版本中,当检查 passthrough 权限是否足够时,Cloud Credential Operator 有时会收到来自 Google Cloud Platform (GCP) API 的、项目的权限无效的响应。这个响应会导致 Operator 降级并安装失败。在这个版本中,Operator 已被更新,可以正确地处理这个错误。(OCPBUGS-36140)
Cluster Version Operator
  • 在以前的版本中,在罕见的情况下,Go 例程间会出现竞争条件,会导致 CVO 启动后 Cluster Version Operator (CVO) 出现 panic。在这个版本中,改进了 Go 例程间的同步,这个问题已解决。(OCPBUGS-32678)
开发人员控制台
  • 在以前的版本中,在一些浏览器中,示例目录中的一些图标被扩展,使其难以读取。在这个版本中,图标会被正确调整大小,现在图标不再扩展且更容易读取。(OCPBUGS-34516)
  • 在以前的版本中,func.yml 中没有明确提到 s2i 构建策略。因此,您无法创建带有仓库的 OpenShift Serverless 功能。另外,如果没有提到 s2i 或 func.yml,则错误消息不可用。因此,识别失败的原因并不明显。在这个版本中,如果没有提到 s2i 构建策略,用户仍然可以创建功能。如果没有 s2i,用户无法创建功能。现在,对于这两种情况,错误消息会有所不同。(OCPBUGS-33733)
  • 在以前的版本中,当在 OpenShift Container Platform Web 控制台中使用快速入门指南时,如果 检查您的工作 框被忽略,则需要多次点 Next 按钮来跳至下一步。在这个版本中,无论检查您的工作框的状态如何,只需要点一次。(OCPBUGS-25929)
Driver ToolKit (DTK)
  • 在以前的版本中,DTK 错误地为 KERNEL_VERSIONRT_KERNEL_VERSION 包括 相同的值,它们存在于 /etc/driver-toolkit-release.json 配置文件中。在这个版本中,RT_KERNEL_VERSION 会被正确显示。(OCPBUGS-33699)
etcd Cluster Operator
  • 在以前的版本中,etcd Operator 会检查串行中的 etcd 成员的健康状况,并带有与单成员超时匹配的 all-member 超时。因此,一个较慢的成员检查可能会消耗整个超时时间,并导致后续成员检查失败,无论以后成员的健康状况是什么。在这个版本中,etcd 会并行检查成员的健康状况,因此一个成员检查的健康和速度不会影响其他成员的检查。(OCPBUGS-36301)
  • 在以前的版本中,etcd Operator 的健康检查没有被排序。因此,健康检查有时会失败,即使所有 etcd 成员都健康。health-check 失败会触发缩减事件,这会导致 Operator 永久删除健康的成员。在这个版本中,Operator 中的健康检查会被排序。因此,健康检查可以正确地反映 etcd 成员的健康状况,且不会发生不正确的缩减事件。(OCPBUGS-36462)
托管 control plane

要查看 OpenShift Container Platform 4.17 上托管的 control plane 的程序错误修复,请参阅程序错误修复

镜像 Registry
  • 在以前的版本中,内部镜像 registry 无法正确验证使用外部 OpenID Connect (OIDC) 用户配置的集群中的用户。因此,用户无法在内部镜像 registry 中推送或拉取镜像。在这个版本中,内部镜像 registry 使用 SelfSubjectReview API 开始,丢弃使用 openshift 特定用户的 API,这在配置了外部 OIDC 用户的集群中不可用。现在,可以成功与内部镜像 registry 进行身份验证。(OCPBUGS-35335)
  • 在以前的版本中,因为证书目录中的权限错误,镜像 registry 无法运行。这个问题已解决。(OCPBUGS-38885)
  • 在以前的版本中,当启用镜像 registry Operator 配置中设置的 regionEndpointvirtualHostedStyle 时,镜像 registry 会忽略虚拟托管的风格配置,且无法启动。在这个版本中,使用新的上游分发配置(强制路径风格)解决了这个问题,而使用下游仅是虚拟托管风格的版本。(OCPBUGS-32710)
  • 在以前的版本中,当使用 Workload ID 在 Azure 集群上部署 OpenShift Container Platform 时,为集群创建的存储帐户,且镜像 registry 默认启用 Storage Account Key Access,这可能会给部署带来安全风险。

    在这个版本中,在使用 Workload ID 的新安装中默认禁用共享访问密钥,从而防止使用共享访问密钥来增强安全性。

    重要

    只有在集群被配置为使用 Workload ID 时,才应禁用共享访问密钥。在没有使用 Microsoft Entra Workload ID 配置的集群中禁用共享访问密钥可能会导致 Image Registry Operator 降级。

    对于在更新前创建的现有存储帐户,不会自动禁用共享访问密钥。管理员必须手动禁用这些存储帐户的共享访问密钥支持,以防止使用共享密钥。有关禁用共享访问密钥的更多信息,请参阅 Azure Storage 帐户的 Prevent Shared Key 授权

    (OCPBUGS-39428)

安装程序
  • 在以前的版本中,从 Cluster API Machine 对象提取 IP 地址只返回单个地址。在 VMware vSphere 中,返回的地址始终是一个 IPv6 地址,如果地址不可路由,这会导致 must-gather 实现出现问题。在这个版本中,Cluster API Machine 对象会返回所有 IP 地址,包括 IPv4,以便在 VMware vSphere 上不再发生 must-gather 问题。(OCPBUGS-37427)
  • 在以前的版本中,当在 IBM Cloud® 上安装集群到现有的 VPC 中时,安装程序会检索不支持的 VPC 区域。尝试安装到遵循不支持的 VPC 区域(按字母顺序排序)的 VPC 区域会导致安装程序崩溃。在这个版本中,安装程序被更新,以忽略在资源查找过程中没有完全可用的 VPC 区域。(OCPBUGS-14963)
  • 在以前的版本中,安装程序尝试在 VMware vSphere 上下载 OVA,无论是否定义了 template 字段。在这个版本中,这个问题已被解决。安装程序会验证是否定义了 template 字段。如果未定义 template 字段,则会下载 OVA。如果定义了 template 字段,则不会下载 OVA。(OCPBUGS-39240)
  • 在以前的版本中,如果没有启用功能门 ClusterAPIInstallAWS=true,则启用自定义功能门有时会导致 AWS 集群上安装失败。在这个版本中,不需要 ClusterAPIInstallAWS=true 功能门。(OCPBUGS-34708)
  • 在以前的版本中,如果安装程序因为基础架构置备失败而退出,则一些进程可能会继续运行。在这个版本中,当安装程序终止时,所有与安装相关的进程都会被终止。(OCPBUGS-36378)
  • 在以前的版本中,在 AWS 上安装集群时,安装程序需要创建和删除 IAM 角色,即使提供了现有的 IAM 角色。在这个版本中,安装程序仅在创建 IAM 角色时需要这些权限。(OCPBUGS-36390)
  • 在以前的版本中,在不警告用户的情况下会修剪较长的集群名称。在这个版本中,安装程序会在修剪长集群名称时警告用户。(OCPBUGS-33840)
  • 在以前的版本中,在收集 bootstrap 收集日志时,openshift-install CLI 有时无法连接到 bootstrap 节点。安装程序报告错误消息,如 The bootstrap machine did not execute the release-image.service systemd unit。在这个版本中,在 bootstrap 收集日志问题发生后,安装程序现在会报告更加准确的错误信息 Invalid log bundle or the bootstrap machine could not be reached and bootstrap logs were not collected。(OCPBUGS-34953)
  • 在以前的版本中,当在 AWS 上安装集群时,安装程序创建的子网会错误地标记为 kubernetes.io/cluster/<clusterID>: shared 标签。在这个版本中,这些子网使用 kubernetes.io/cluster/<clusterID>: owned 标签正确标记。(OCPBUGS-36904)
  • 在以前的版本中,如果安装失败,在安装过程中保存的本地 etcd 数据存储不会被删除,这会消耗安装主机上的额外空间。在这个版本中,如果基础架构置备失败,则存储的数会被删除。(OCPBUGS-36284)
  • 在以前的版本中,当未定义文件夹,且数据中心位于一个数据中心文件夹中时,会创建一个错误的文件夹结构,vCenter 服务器的根目录开始。在使用 Govmomi DatacenterFolders.VmFolder 时,它会使用错误的路径。在这个版本中,文件夹结构使用数据中心清单路径,并将其与虚拟机 (VM) 和集群 ID 值连接,从而解决了这个问题。(OCPBUGS-38616)
  • 在以前的版本中,当为每个故障域定义模板时,安装程序需要一个外部连接来下载 VMware vSphere 中的 OVA。在这个版本中,这个问题已解决。(OCPBUGS-39239)
  • 在以前的版本中,在 Nutanix 中安装使用 DHCP 网络的集群会失败。在这个版本中,这个问题已解决。(OCPBUGS-38934)
  • 在以前的版本中,由于 SCOS 中的 EFI 安全引导失败,当 FCOS 导向 SCOS 时,虚拟机 (VM) 无法引导。在这个版本中,只有在 coreos.ovf 配置文件中启用了安全引导时,才会禁用安全引导,并解决了这个问题。(OCPBUGS-37736)
  • 在以前的版本中,如果您在 install-config.yaml 文件中指定了不支持的构架,安装程序会失败并显示 connection refused 信息。在这个版本中,安装程序会正确验证集群架构参数,安装可以成功。(OCPBUGS-38841)
  • 在以前的版本中,在一个罕见的情况下 om VMware vSphere Cluster API 机器会导致 vCenter 会话管理意外超时。在这个版本中,对 Keepa Alive 的支持在当前及更新的 CAPV 版本中会被禁用的问题已被解决。(OCPBUGS-38677)
  • 在以前的版本中,Amazon Web Services (AWS)上的安装程序使用多个 Amazon 启动了计费的 IPv4 公共 IP 地址。在这个版本中,为在 OpenShift Container Platform 中提供自己的(BYO)公共 IPv4 池的支持,以便用户可以控制其服务使用的 IP 地址。如果启用了 BYO 公共 IPv4 池功能,两个新权限 ec2:DescribePublicIpv4Poolsec2:DisassociateAddress 是必需的,并解决了这个问题。(OCPBUGS-35504)
  • 在以前的版本中,当用户在使用现有子网并创建私有集群时提供公共子网时,安装程序会偶尔在公共互联网上公开在公共子网中创建的负载均衡器。私有集群不应出现这个行为。在这个版本中,这个问题已被解决。现在,在一个私有集群的安装过程中会显示一个警告信息,告知提供公共子网可能会破坏私有集群,要解决这个问题需要修改相关的输入。(OCPBUGS-38963)
  • 在以前的版本中,在安装过程中,oc adm node-image create 命令使用 kube-system/cluster-config-v1 资源来确定平台类型。在这个版本中,安装程序使用基础架构资源,它提供了有关平台类型的更准确的信息。(OCPBUGS-39092)
  • 在以前的版本中,当针对带有代理的受限环境中的一个集群运行 oc adm node-image create 命令会失败,因为命令会忽略集群范围的代理设置。在这个版本中,在运行这个命令时,它会检查集群代理资源设置(如果可用)以确保命令成功运行,从而解决了这个问题。(OCPBUGS-39090)
  • 在以前的版本中,当使用基于代理的安装程序安装集群时,assisted-installer 进程在试图在集群中添加 control plane 节点时可能会超时。在这个版本中,assisted-installer 进程从 assisted-service 进程加载新数据,从而防止超时问题的出现。(OCPBUGS-36779)
  • 在以前的版本中,当 VMware vSphere vCenter 集群包含没有定义标准端口组的 ESXi 主机,且安装程序试图选择导入 OVA 的主机时,导入会失败,并报告 Invalid Configuration for device 0 错误。在这个版本中,安装程序会验证 ESXi 主机的标准端口组是否已定义,如果没有,会继续进行验证,直到找到带有定义的标准端口组的 ESXi 主机为止,或者报告错误消息(如果无法找到一个),从而解决了这个问题。(OCPBUGS-38560)
  • 在以前的版本中,从 Cluster API Machine 对象提取 IP 地址只会返回一个单一的 IP 地址。在 VMware vSphere 中,返回的地址始终是一个 IPv6 地址,如果地址不可路由,这会导致 must-gather 实现出现问题。在这个版本中,Cluster API Machine 对象会返回所有 IP 地址,包括 IPv4,以便在 VMware vSphere 上不再发生 must-gather 问题。(OCPBUGS-37607)
  • 在以前的版本中,当在 AWS 上安装集群时,即使要禁用 EKS,Elastic Kubernetes Service (EKS) 信息也会出现在安装日志中。在这个版本中,禁用了 EKS 日志消息。(OCPBUGS-35752)
  • 在以前的版本中,当创建安装程序置备的基础架构 (IPI) 集群时,终端会出现意外输出。在这个版本中,这个问题已被解决,意外输出不再会出现。(OCPBUGS-35547)
  • 在以前的版本中,当使用 ./openshift-install destroy cluster 命令删除集群后在 AWS 上安装集群时,安装会失败,并显示一个错误,表示可能已经有一个正在运行的集群。在这个版本中,在集群销毁后所有剩余的工件都会被删除,从而使以后的安装可以成功。(OCPBUGS-35542)
  • 在以前的版本中,当在 AWS 上安装集群时,负载均衡器入口规则会持续撤销并重新授权,从而导致集群置备不必要的 API 调用和延迟。在这个版本中,在安装过程中不再撤销负载均衡器入口规则,从而减少 API 流量和安装延迟。(OCPBUGS-35440)
  • 在以前的版本中,当在没有 fixedIPs 值的情况下设置 platform.openstack.controlPlanePort.network 时,安装程序会输出有关网络缺少子网的误导错误消息。在这个版本中,安装程序会验证 install-config 字段 controlPlanePort 是否具有有效的子网过滤器,因为它是一个必需的值。(OCPBUGS-37104)
  • 在以前的版本中,为用户置备的安装平台添加 IPv6 支持会导致命名 Red Hat OpenStack Platform (RHOSP) 资源的问题,特别是在同一 Red Hat OpenStack Platform (RHOSP) 平台上运行两个用户置备的安装集群时。这是因为两个集群与网络、子网和路由器资源共享相同的名称。在这个版本中,集群的所有资源名称在那个集群中都是唯一的,因此不会相互干扰。(OCPBUGS-33973)
  • 在以前的版本中,当在使用安装程序置备的基础架构的 IBM Power® Virtual Server 上安装集群时,安装可能会因为负载均衡器超时而失败。在这个版本中,安装程序会等待负载均衡器可用,而不是超时。(OCPBUGS-34869)
  • 在以前的版本中,当使用 Assisted Installer 时,使用包含冒号字符 (:) 的密码会导致安装失败。在这个版本中,在密码中包含冒号的 pull secret 不会导致 Assisted Installer 失败。(OCPBUGS-31727)
  • 在以前的版本中,使用 SATA 硬件的固态驱动器(SSD) 被识别为可移动。OpenShift Container Platform 的 Assisted Installer 报告没有找到合格的磁盘,安装会停止。在这个版本中,可移动磁盘可以进行安装。(OCPBUGS-33404)
  • 在以前的版本中,当使用安装程序置备的基础架构在裸机上安装集群时,如果网络到 bootstrap 虚拟机较慢,则安装可能会超时。在这个版本中,超时持续时间已被增加,以满足更广泛的网络性能场景。(OCPBUGS-41500)
  • 在以前的版本中,当在 IBM Power® Virtual Server 上安装集群时,安装程序不会在 madrid 区域中列出 e980 系统类型。在这个版本中,安装程序会正确列出这个区域。(OCPBUGS-38439)
  • 在以前的版本中,在安装单节点 OpenShift 集群后,监控系统可能会生成应用到具有多个节点的集群的警报。在这个版本中,单节点 OpenShift 集群只生成应用到单节点 OpenShift 集群的监控警报。(OCPBUGS-35833)
  • 在以前的版本中,当在 IBM Power® Virtual Server 上安装集群时,因为 DHCP 服务器网络冲突,安装可能会失败。在这个版本中,安装程序会选择一个随机数字来生成 DHCP 网络以避免冲突。(OCPBUGS-33912)
  • 在以前的版本中,安装程序使用 Neutron API 端点来标记安全组。此 API 不支持特殊字符,因此一些 Red Hat OpenStack Platform (RHOSP) 集群无法在 RHOSP 上安装。在这个版本中,安装程序使用替代端点来标记安全组,以便问题不再保留。(OCPBUGS-36913)
  • 在以前的版本中,为 install-config 配置文件中的机器池的 additionalNetworkIDs 参数设置无效的通用唯一标识符(UUID)可能会导致安装程序退出集群。在这个版本中,安装程序会在程序继续安装集群前,检查 additionalNetworkIDs 参数的有效性,从而解决了这个问题。(OCPBUGS-35420)
  • 在以前的版本中,对于 IBM Power® Virtual Server 安装程序置备的基础架构集群,如果没有用于动态主机配置协议(DHCP)的网络名称,则销毁代码会跳过删除 DHCP 资源。在这个版本中,测试会检查 DHCP 是否处于 ERROR 状态,从而可以删除 DHCP 资源。(OCPBUGS-35039)
Insights Operator
  • 在以前的版本中,在一些 Hypershift 托管的集群中,即使启用了网络模糊,IO 归档也可能会包含主机名。这个问题已被解决,当启用了网络模糊功能后,IO 归档将不再包含主机名。(OCPBUGS-33082)
Machine Config Operator
  • 在以前的版本中,在运行带有 Telco RAN DU 参考配置的 OpenShift Container Platform 4.16 的集群,长时间的 cyclictesttimerlat 测试在检测到最大延迟超过 20 us 时会失败。出现这个问题的原因是,当启用 cgroup v2 时,psi 内核命令行参数被设置为 1。在这个版本中,在启用 cgroup v2 时,通过在内核参数中设置 psi=0 来解决这个问题。OCPBUGS-34022 中报告的 cyclictest 延迟问题现已解决。(OCPBUGS-37271)
  • 在以前的版本中,如果集群管理员创建新的 MachineOSConfig 对象来引用旧的 pull secret,则创建此 secret 的规范版本不会在原始 pull secret 更改时更新。在这个版本中,这个问题已解决。(OCPBUGS-34079)
  • 在以前的版本中,/etc/mco/internal-registry-pull-secret.json secret 由 Machine Config Operator (MCO) 管理。由于最近的更改,此 secret 以每小时的频率轮转。当 MCO 检测到此 secret 的更改时,它会将 secret 应用到集群中的每个节点,这会导致中断。在这个版本中,不同的内部机制处理对内部 registry pull secret 的更改,以避免推出重复的 MachineConfig 更新。(OCPBUGS-33913)
  • 在以前的版本中,如果您创建了多个需要规范 secret 的 MachineOSConfig 对象,则只有第一个对象会构建。在这个版本中,构建控制器会处理使用相同的规范 secret 的多个 MachineOSBuild。(OCPBUGS-33671)
  • 在以前的版本中,如果机器配置池 (MCP) 的 maxUnavailable 值高于集群的不可用节点,则 cordoned 节点可能会错误地选择为更新候选节点。在这个版本中,在节点控制器中添加了节点就绪度检查,以便封锁节点被排队以进行更新。(OCPBUGS-33397)
  • 在以前的版本中,如果节点在排空控制器中多次排队,则节点可能会排空两次。这个行为可能是因为集群层功能在节点对象上增加的活动。在这个版本中,排队的节点只排空一次。(OCPBUGS-33134)
  • 在以前的版本中,如果意外删除 MachineOSConfig/MachineOSBuild 来读取构建状态,Machine Config Controller 和 Machine Build Controller 对象会出现一个潜在的 panic。panic 使用额外的错误条件控制,以警告允许的 MachineOSConfig 删除。(OCPBUGS-33129)
  • 在以前的版本中,在从 OpenShift Container Platform 4.1 或 4.2 升级到 4.15 后,一些机器可能会在置备过程中卡住,且永远不会可用。这是因为 machine-config-daemon-firstboot 服务因为这些节点上不兼容的 machine-config-daemon 二进制文件而失败。在这个版本中,在引导前,正确的 machine-config-daemon 二进制文件会复制到节点。(OCPBUGS-28974)
  • 在以前的版本中,如果您试图在非 RHCOS 节点上配置集群 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像层,节点会降级。在这个版本中,在节点日志中会生成错误消息,但节点不会被降级。(OCPBUGS-19537)
管理控制台
  • 在以前的版本中,Cluster overview 页包括了 View all steps in documentation 链接k,这会导致 Red Hat OpenShift Service on AWS 和 Red Hat OpenShift Dedicated 集群出现 404 错误。在这个版本中,Red Hat OpenShift Service on AWS 和 Red Hat OpenShift Dedicated 集群不会出现链接。(OCPBUGS-37054)
  • 在以前的版本中,当您在支持 GCP Workload Identity 和 Operator 支持的 Google Cloud Platform (GCP) 集群中时,不会提供一个警告。在这个版本中,增加了逻辑来支持 GCP Workload Identity 和 Federated Identity Operator 安装,因此您现在会在 GCP 集群中收到警报。(OCPBUGS-38591)
  • 在以前的版本中,当在 dark 模式下使用 Firefox 时,Cluster Settings 页中的 Updates 图形中的版本号文本会在黑色背景上显示为黑色文本。在这个版本中,文本显示为白色文本。(OCPBUGS-38427)
  • 在以前的版本中,使用 PatternFly 4 的动态插件引用 OpenShift Container Platform 4.15 及更高版本中不可用的变量。这会导致在 dark 模式中比较 Red Hat Advanced Cluster Management (RHACM) 的问题。在这个版本中,可以使用旧的 chart 风格来支持动态插件使用的 PatternFly 4 chart。(OCPBUGS-36816)
  • 在以前的版本中,当 Display Admission Webhook 警告实现中发现一些不正确的代码时。在这个版本中,不必要的警告信息已被删除。(OCPBUGS-35940)
  • 在以前的版本中,应用到所有 HTTP 服务器的全局同步锁定会生成 goroutines,并带有特定于每个刷新令牌的同步锁定。在这个版本中,带有外部 OIDC 环境的集群中的全局刷新同步锁定被替换为为每个令牌刷新的同步。因此,刷新令牌性能会提高 30% 到 50%。(OCPBUGS-35080)
  • 在以前的版本中,PodDisruptionBudget 创建和编辑表单中没有显示 minAvailable 警告。在这个版本中,添加了显示 minAvailable 警告的代码逻辑,如果违反,则会显示 minAvailable 警告。(OCPBUGS-34937)
  • 在以前的版本中,OperandDetails 页会显示与名称匹配的第一个 CRD 的信息。在这个版本中,OperandDetails 页会显示与名称和操作对象版本匹配的 CRD 的信息。(OCPBUGS-34901)
  • 在以前的版本中,一个不活跃或空闲的浏览器标签页会导致所有其他标签页的会话过期。在这个版本中,任何标签页中的活动都会防止会话过期,即使有一个不活跃或空闲的浏览器标签页。(OCPBUGS-34387)
  • 在以前的版本中,文本区域无法调整大小。在这个版本中,您可以调整文本区域的大小。(OCPBUGS-34200)
  • 在以前的版本中,对于状态为 Completed 的 pod,不会显示 Debug 容器 链接。在这个版本中,链接会出现。(OCPBUGS-33631)
  • 在以前的版本中,因为 Prometheus 查询不正确,OpenShift Container Platform Web 控制台不会在 Nodes 列表中显示文件系统指标。在这个版本中,文件系统指标会被正确显示。(OCPBUGS-33136)
  • 在以前的版本中,因为配置问题,伪本地化无法正常工作。在这个版本中,伪本地化可以正常工作。(OCPBUGS-30218)
  • 在以前的版本中,如果将 --user-auth 标志设定为 disabled,则控制台 pod 将崩溃。在这个版本中,控制台后端可以正确地处理这个值。(OCPBUGS-29510)
  • 在以前的版本中,使用卡会显示一个限制,它错误地暗示容量和限制之间的关系。在这个版本中,限制 的位置已更改,内容也被更新。(OCPBUGS-23332)
  • 在以前的版本中,在一些边缘情况下,在使用 websocket 在没有提供命名空间的情况下监控命名空间资源时,可能会获取错误的资源。在这个版本中,添加了资源监控逻辑的验证,以防止 websocket 请求并记录此条件下的错误。(OCPBUGS-19855)
  • 在以前的版本中,视角切换没有被正确处理。在这个版本中,使用 URL 搜索参数或插件路由页扩展传递的视角现在可以正确地切换视角,并保留正确的 URL 路径。(OCPBUGS-19048)
网络
  • 在以前的版本中,SR-IOV Network Operator 会以随机顺序列出 SriovNetworkNodePolicies 资源。这会导致 sriov-device-plugin pod 进入持续重启循环。在这个版本中,SR-IOV Network Operator 以确定的顺序列出策略,以便 sriov-device-plugin pod 不会进入持续重启循环。(OCPBUGS-36243)
  • 在以前的版本中,在新 pod 中创建的接口将保持不活跃,并且会生成 Gratuitous 地址解析协议(GARP) 通知。通知无法访问集群,这会阻止集群中的其他 pod 的 ARP 表更新新 pod 的 MAC 地址。这种情况会导致集群流量停滞,直到 ARP 表条目过期为止。在这个版本中,在 pod 中的接口活跃后发送 GARP 通知,以便 GARP 通知到达集群。因此,周围的 pod 可以识别早于之前新 pod 的行为。(OCPBUGS-30549)
  • 在以前的版本中,为集群启用 FIPS 会导致 SR-IOV 设备插件 pod 失败。在这个版本中,SR-IOV 设备插件 pod 启用了 FIPS,以便在为集群启用 FIPS 时,pod 不会失败。(OCPBUGS-41131)
  • 在以前的版本中,在重启使用带有少量保留 CPU 的性能配置集的 OpenShift Container Platform 节点后,会生成一个竞争条件。这是因为,单根 I/O 虚拟化 (SR-IOV) 虚拟功能 (VF) 共享同一 MAC 地址和任何使用 VF 的 pod 都会出现通信问题。在这个版本中,对 SR-IOV Network Operator 配置守护进程的更新可确保 Operator 检查 VF 上不存在重复的 MAC 地址。(OCPBUGS-33137)
  • 在以前的版本中,如果您删除了 sriovOperatorConfig 自定义资源 (CR),则无法创建新的 sriovOperatorConfig CR。在这个版本中,在删除 sriovOperatorConfig CR 时,单一根 I/O 虚拟化 (SR-IOV) Network Operator 会移除验证 Webhook,以便您可以创建新的 sriovOperatorConfig CR。(OCPBUGS-37567)
  • 在以前的版本中,当将集群切换到使用不同的负载均衡器时,Ingress Operator 不会从 IngressController 自定义资源 (CR) 状态中的 classicLoadBalancernetworkLoadBalancer 参数中删除值。这种情况导致 CR 的状态报告来自 classicLoadBalancernetworkLoadBalancer 参数的错误信息。在这个版本中,在将集群切换为使用不同的负载均衡器后,Ingress Operator 会从这些参数中删除值,以便 CR 报告更准确且不太混淆的消息状态。(OCPBUGS-38646)
  • 在以前的版本中,当同一节点上存在多播发送程序和多播接收器时,不会到达其预期的目标节点。这是因为 OVN-Kubernetes RPM 软件包更新。在这个版本中,在 OVN-Kubernetes RPM 软件包中解决了这个回归问题,因此这个问题不再保留。(OCPBUGS-34778)
  • 在以前的版本中,当您为 Ingress Operator 创建 LoadBalancer 服务时,会生成一个日志消息,说明更改无效。此日志消息应仅针对 Infra 自定义资源的更改而触发。在这个版本中,当您为 Ingress Operator 创建 LoadBalancer 服务时,不再生成此日志消息。(OCPBUGS-34413)
  • 在以前的版本中,DNSNameResolver 控制器为带有过期时间(TTL) 值的 DNS 名称将 DNS 请求发送到 CoreDNS pod。这会导致为这些 pod 持续生成 DNS 请求和内存泄漏问题。在这个版本中,DNSNameResolver 控制器会在向 DNS 名称发送任何请求前等待到接收 DNS 名称的 IP 地址和 TTL 值的更新列表。因此,控制器不再生成错误的请求,并将其发送到 pod。CoreDNS pod 现在可以及时响应 DNS 请求,并使用最新的 IP 地址和 TTL 更新 DNSNameResolver 对象。(OCPBUGS-33750)
  • 在以前的版本中,当您使用 must-gather 工具时,Multus Container Network Interface (CNI) 日志文件 multus.log 存储在节点的文件系统中。这会导致工具在节点上生成不必要的调试 pod。在这个版本中,Multus CNI 不再创建一个 multus.log 文件,而是使用 CNI 插件模式检查 openshift-multus 命名空间中的 Multus DaemonSet pod 的日志。(OCPBUGS-33959)
  • 在以前的版本中,在应该触发 OVNKubernetesNorthdInactive 时,不会触发警报。在这个版本中,这个问题已被解决,以便 OVNKubernetesNorthdInactive 的警报如预期触发。(OCPBUGS-33758)
  • 在以前的版本中,对于自定义默认路由的所有 pod,Kubernetes-OVN 伪装地址缺少路由会导致每个 pod 无法通过它充当后端的服务连接到其自身。在这个版本中,Kubernetes-OVN masquerade 地址缺少的路由被添加到 pod 中,以便不再出现这个问题。(OCPBUGS-36865)
  • 在以前的版本中,iptables-alerter pod 无法处理 crictl 命令行界面中的错误,这可能会导致 pod 错误地记录来自 host-network pod 的事件,或导致 pod 重启。在这个版本中,错误会被正确处理,相关问题已不存在。(OCPBUGS-37713)
  • 在以前的版本中,如果您使用代理从计算节点访问 control plane 创建托管集群,则计算节点将无法使用集群。在这个版本中,为节点更新代理设置,以便节点可以使用代理与 control plane 成功通信。(OCPBUGS-37786)
  • 在以前的版本中,当集群无法在配置了负载均衡器的内部平台中安装时,LoadBalancer 服务的 LoadBalancerReady 条件会收到 SyncLoadBalancerFailed 状态。状态生成以下信息:

    The kube-controller-manager logs might contain more details.

    此消息不正确,因为日志存储在项目的 cloud-controller-manager 命名空间中。在这个版本中,SyncLoadBalancerFailed 状态现在可以输出正确信息:

    The cloud-controller-manager logs may contain more details.

    (OCPBUGS-31664)

  • 在以前的版本中,您无法控制为集群节点选择 IP 地址的内部组件的日志级别。在这个版本中,您可以启用 debug 日志级别,以便可以按需增加或减少日志级别。要调整日志级别,您必须使用类似如下的配置创建配置映射清单文件:

    apiVersion: v1
    data:
      enable-nodeip-debug: "true"
    kind: ConfigMap
    metadata:
      name: logging
      namespace: openshift-vsphere-infra
    # ...

    (OCPBUGS-32348)

  • 在以前的版本中,Ingress Operator 无法成功更新 canary 路由,因为 Operator 没有更新现有路由上的 spec.hostspec.subdomain 字段的权限。在这个版本中,Operator ServiceAccount 的集群角色中添加了所需的权限,Ingress Operator 可以更新 canary 路由。(OCPBUGS-36465)
  • 在以前的版本中,在支持的内部平台上运行一些网络容器(如 Keepalived )需要管理员特权。在这个版本中,这些容器不再需要管理员特权才能在受支持的内部平台上运行。(OCPBUGS-36175)
  • 在以前的版本中,如果您的 NodeNetworkConfigurationPolicy (NNCP)自定义资源 (CR) 被设置为使用默认覆盖树协议(STP) 实现,则 CR 配置文件将显示 stp.enabled: true,但 OpenShift Container Platform Web 控制台会清除 STP 复选框。在这个版本中,Web 控制台仅在 NNCP CR YAML 文件中定义 stp.enabled: false 后清除 STEP 复选框。(OCPBUGS-36238)
  • 在以前的版本中,Ingress Controller 状态错误地显示为 Degraded=False,因为 CanaryRepetitiveFailures 条件出现迁移时间问题。在这个版本中,Ingress Controller 状态在 CanaryRepetitiveFailures 条件存在的适当时间被正确标记为 Degraded=True。(OCPBUGS-39220)
节点
  • 在以前的版本中,Container Runtime Config 控制器不会在将 ClusterImagePolicy CR 中的范围添加到 /etc/containers/registries.d/sigstore-registries.yaml 文件前检测镜像配置是否使用。因此,镜像验证失败,并显示 Not looking for sigstore attachments 信息。在这个版本中,镜像会如预期从镜像 registry 中拉取。(OCPBUGS-36344)
  • 在以前的版本中,当 pod 规格中设置了 spec.securityContext.runAsGroup 属性时,组 ID 不会添加到容器内的 /etc/group 目录中。在这个版本中,这个问题已被解决。(OCPBUGS-39478)
  • 在以前的版本中,由于在早于 5.14.0-427.26.1.el9_4 的 RHEL 9.4 内核中存在一个回归的问题,mglru 功能被禁用。在本发行版本中,这个回归问题已被修复,现在 OpenShift Container Platform 4.17 中启用了 mglru 功能。(OCPBUGS-35436)
Node Tuning Operator (NTO)
  • 在以前的版本中,由于内部错误,如果机器有 256 个 CPU,Node Tuning Operator 会错误地计算中断和网络处理 CPU 关联性的 CPU 掩码。这导致在这些机器上无法正确进行 CPU 隔离,并导致 systemd 单元失败。在这个版本中,Node Tuning Operator 可以正确地计算掩码。(OCPBUGS-39164)
  • 在以前的版本中,Open vSwitch (OVS)固定流程设置主线程的 CPU 关联性,但其他 CPU 线程如果已经创建,则不会提取这个关联性。因此,一些 OVS 线程不会在正确的 CPU 集上运行,这可能会干扰服务质量(QoS)类为 Guaranteed 的 pod 的性能。在这个版本中,OVS 固定过程会更新所有 OVS 线程的关联性,确保所有 OVS 线程都在正确的 CPU 集上运行。(OCPBUGS-35347)
Observability(可观察性)
  • 在以前的版本中,当您在 OpenShift Container Platform Web 控制台的 Administrator 视角下登录并使用 Observe Alerting 功能时,在警报指标图中会显示 S is not a function。出现这个问题的原因是缺少功能验证检查。在这个版本中,添加了功能验证检查,以便警报指标图表可以显示收集的指标。(OCPBUGS-37291)
OpenShift CLI (oc)
  • 在以前的版本中,当将 oc-mirror 插件 v2 与- delete 标志搭配使用时,从镜像 registry 中删除 Operator 目录,进程会失败并显示以下错误:

    2024/08/02 12:18:03 [ERROR]: [OperatorImageCollector] pinging container registry localhost:55000: Get "https://localhost:55000/v2/": http: server gave HTTP response to HTTPS client.

    这是因为 oc-mirror 插件 v2 使用 HTTPS 而不是 HTTP 查询本地缓存。在这个版本中,HTTP 客户端在查询前正确配置,从而解决了这个问题。(OCPBUGS-41503)

  • 在以前的版本中,当在 mirror-to-disk 模式中使用 oc-mirror 插件 v2 时,目录镜像和内容会存储在 working-dir 下的子文件夹中,具体取决于镜像摘要。在完全断开连接的环境中的 disk-to-mirror 过程中,插件会尝试通过源 registry (不可用)解析目录镜像标签,从而导致此类错误:

    [ERROR] : [OperatorImageCollector] pinging container registry registry.redhat.io: Get "http://registry.redhat.io/v2/": dial tcp 23.217.255.152:80: i/o timeout

    在这个版本中,插件会在 disk-to-mirror 过程中检查本地缓存,以确定摘要,以避免查询 registry。(OCPBUGS-36214)

  • 在以前的版本中,当在断开连接的环境中在 mirror-to-disk 模式下使用 oc-mirror 插件 v2 时,插件无法访问 api.openshift.com 来下载 graph.tar.gz,从而导致镜像失败。在这个版本中,插件会在设置了 UPDATE_URL_OVERRIDE 环境变量的断开连接的环境中搜索图形镜像的本地缓存。如果缺少图形镜像,则该插件会跳过它而不会失败。(OCPBUGS-38469)
  • 在以前的版本中,oc-mirror 插件 v2 无法在完全断开连接的环境中从 disk-to-mirror 中镜像 Operator 目录。此问题也会影响在 ImageSetConfiguration 文件中指定了 targetCatalog 的目录。在这个版本中,插件可以在完全断开连接的环境中成功镜像目录,targetCatalog 功能可以正常工作。(OCPBUGS-34521)
  • 在以前的版本中,使用 oc-mirror 插件 v2 时,对于 oc-mirror 命令不会验证 -v2--v2 标识。因此,如果用户错误地使用了 -v2,(这会将日志级别设置为 2),而不是使用 --v2(这会切换为 oc-mirror plugin v2),会收到一个不明确的错误消息。在这个版本中,提供了标记验证。如果使用 -v2 标志,ImageSetConfig 使用 v2alpha1 API,且没有指定 --v2,会显示一个错误信息。现在,启用了以下信息,为用户提供清晰的信息:

    [ERROR]: Detected a v2 `ImageSetConfiguration`, please use `--v2` instead of `-v2`.

    (OCPBUGS-33121)

  • 在以前的版本中,oc-mirror 插件 v2 在 registry 中遇到错误时不会自动执行重试,如超时、过期的身份验证令牌、HTTP 500 错误等。在这个版本中,这些错误的重试会被实现,用户可以使用以下标记配置重试行为:

    • --retry-times :指定重试尝试的次数。默认值为 2。
    • --retry-delay :设置重试之间的延迟。默认值为 1 秒。
    • --image-timeout :定义同步一个镜像的超时时间。默认值为 10 分钟。
    • --max-parallel-downloads :控制在单个复制操作期间同时拉取的最大层数。默认值为 6。

      (OCPBUGS-34021)

  • 在以前的版本中,当将 oc-mirror 插件 v2 与 -rebuild-catalogs 标志搭配使用时,目录缓存会在本地重新生成,这会导致因为 opm 二进制文件和平台兼容性问题以及集群的缓存完整性问题而造成失败。在这个版本中,--rebuild-catalogs 标志默认为 true,因此目录会被重新构建,而不会重新生成内部缓存。另外,image 命令已被修改以在 pod 启动期间生成缓存,这可能会延迟 pod 初始化。(OCPBUGS-37667)
  • 在以前的版本中,在使用系统代理设置代理后面运行时,oc-mirror 插件 v2 不使用系统代理配置为发行版本恢复签名。在这个版本中,系统代理设置会在签名恢复过程中应用。(OCPBUGS-37055)
  • 在以前的版本中,当遇到与语义版本不兼容的捆绑包版本的 Operator 时,oc-mirror 插件 v2 会停止镜像过程,这也会阻止创建集群资源,如 IDMS、ITMS 和 CatalogSource 对象。在这个版本中,插件会跳过这些有问题的镜像,而不是停止进程。如果镜像使用不正确的语义版本化,控制台中会显示一条警告消息,其中包含相关的镜像详情。(OCPBUGS-33081)
  • 在以前的版本中,当因为网络问题或无效的 Operator 目录失败时,oc-mirror 插件 v2 不会生成 ImageDigestMirrorSet (IDMS) 或 ImageTagMirrorSet (ITMS) 文件。在这个版本中,oc-mirror 会在 Operator 或额外镜像失败时继续镜像其他镜像,只有在发行镜像失败时停止。集群资源基于成功镜像的镜像生成,日志文件中收集所有错误以进行检查。(OCPBUGS-34020)
  • 在以前的版本中,OpenShift Container Platform 发行镜像在某些 registry 中不可见,如 Red Hat Quay。这导致用户无法安装 OpenShift Container Platform,因为缺少发行镜像。在这个版本中,发行镜像总是被标记,以确保它们出现在 Red Hat Quay 等 registry 中,从而启用正确的安装。(OCPBUGS-36410)
  • 在以前的版本中,oc adm must-gather 命令需要很长时间才能在大型集群中收集与 CPU 相关的性能数据。在这个版本中,数据会并行收集,而不是按顺序收集,这会缩短数据收集时间。(OCPBUGS-34360)
  • 在以前的版本中,oc set env 命令错误地更改了 RouteDeploymentConfig 对象的 API 版本,如 apps.openshift.io/v1 变为 v1。这会导致命令退出并带有 unable to recognize no matches for kind 错误。在这个版本中,错误已被修复,os set env 命令会在 RouteDeploymentConfig 对象中保留正确的 API 版本。(OCPBUGS-32108)
  • 在以前的版本中,当 must-gather 操作因任何原因且用户手动删除 leftover 命名空间失败时,must-gather 命令创建的集群角色绑定将保留在集群中。在这个版本中,当删除临时 must-gather 命名空间时,关联的集群角色绑定会自动删除。(OCPBUGS-31848)
  • 在以前的版本中,当使用带有 oc-mirror 插件 v2 的 --v2 标志时,如果没有同步镜像,一些镜像被跳过,则会生成空的 imds.yamlitms.yaml 文件。在这个版本中,只有在至少一个镜像被成功同步时,才会触发自定义资源生成,从而防止创建空文件。(OCPBUGS-33775)
Operator Lifecycle Manager (OLM)
  • 在以前的版本中,具有许多自定义资源(CR)的集群会出现来自 API 服务器的超时问题,并在只有临时解决方案才能卸载,然后重新安装 stranded Operator。这是因为 OLM 使用动态客户端列表器评估潜在的更新。在这个版本中,OLM 将分页列表器用于自定义资源定义 (CRD) 来避免超时和框架的更新。(OCPBUGS-41549)
  • 在以前的版本中,当 registryPoll 参数未设置时,目录源 pod 无法从集群节点失败中恢复。在这个版本中,OLM 会更新了其检查死 pod 的逻辑。现在,目录源 pod 会如预期从节点失败中恢复。(OCPBUGS-39574)
  • 在以前的版本中,如果您在 OpenShift Container Platform 更新后尝试安装之前删除的 Operator,安装可能会失败。这是因为 OLM 无法找到之前创建的捆绑包解包作业。在这个版本中,OLM 可以正确地安装以前安装的 Operator。(OCPBUGS-32439)
  • 在以前的版本中,当自定义资源定义 (CRD) 的新版本指定了一个新的转换策略时,这个转换策略应该可以成功转换资源。但是,OLM 无法在不实际执行更新操作的情况下,为 CRD 验证运行新的转换策略。在这个版本中,当 CRD 验证失败并显示现有转换策略,且新的转换策略在 CRD 的新版本中指定时,OLM 会在更新过程中生成警告信息。(OCPBUGS-31522)
  • 在以前的版本中,如果 CatalogSource 对象中的 spec.grpcPodConfig.securityContextConfig 字段在带有 PodSecurityAdmission (PSA) 级别为 restricted 的命名空间中没有设置,则目录 pod 不会传递 PSA 验证。在这个版本中,OLM Catalog Operator 使用需要传递 PSA 验证所需的 securityContext 配置目录 pod。(OCPBUGS-29729)
  • 在以前的版本中,尽管在调度队列中,catalogd-controller-manager pod 可能无法部署到节点,OLM Operator 将无法安装。在这个版本中,相关资源会减少 CPU 请求,这个问题不再发生。(OCPBUGS-29705)
  • 在以前的版本中,Catalog Operator 有时会尝试连接到存储在缓存中的目录源。在这个版本中,Catalog Operator 会查询客户端来列出集群中的目录源。(OCPBUGS-8659)
Red Hat Enterprise Linux CoreOS (RHCOS)
  • 在以前的版本中,使用 512 模拟磁盘的系统上 LUKS 加密会导致置备在 ignition-ostree-growfs 步骤中失败,因为 sfdisk 校准问题。在这个版本中,ignition-ostree-growfs 脚本检测到这种情况,并自动修复协调。因此,在置备过程中系统不再会失败。(OCPBUGS-35410)
  • 在以前的版本中,growpart 工具中的一个错误会导致 LUKS 设备锁定。这会导致系统引导至紧急模式。在这个版本中,删除了对 growpart 工具的调用,系统会在没有问题的情况下成功引导。(OCPBUGS-33124)
  • 在以前的版本中,如果一个新的部署是在主机上的 OSTree 级别进行的,这与不同 stateroot 上的当前部署相同,OSTree 会将它们识别为相等。当调用 set-default 命令时,这个行为会阻止引导装载程序更新,因为 OSTree 不会将两个 stateroot 识别为部署的不同因素。在这个版本中,OSTree 的逻辑被修改为考虑 stateroot。因此,OSTree 可以正确地将默认部署设置为具有不同 stateroot 的新部署。(OCPBUGS-30276)
Storage
  • 在以前的版本中,在托管的 control plane 集群上,Secret Store Container Storage Interface (CSI)驱动程序无法挂载 secret,因为在使用托管的 control plane 命令行界面 hcp 时,在 Amazon Web Services 上创建 OpenID Connect (OIDC) 基础架构会失败。在这个版本中,这个问题已被解决,因此驱动程序现在可以挂载卷。(OCPBUGS-18711)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.