搜索

1.6. 程序错误修复

download PDF
API 服务器和客户端
  • 在以前的版本中,kube-apiserver 日志文件夹中的 termination.log 具有无效的权限,因为上游库中的设置。在这个版本中,上游库已被更新,terminate.log 现在具有预期的权限。(OCPBUGS-11856)
  • 在以前的版本中,如果现有清单在升级后获取能力注解,Cluster Version Operator (CVO) 会启用一个功能。这会导致在升级到 OpenShift Container Platform 4.14 后为之前禁用了控制台功能的用户启用控制台。在这个版本中,现有清单中删除了不必要的控制台功能,控制台功能不再被隐式启用。(OCPBUGS-20331)
  • 在以前的版本中,当删除 openshift-kube-controller-manager 命名空间时,会重复记录以下错误:failed to synchronize namespace。在这个版本中,当 openshift-kube-controller-manager 命名空间被删除时,不再记录这个错误。(OCPBUGS-17458)
裸机硬件置备
  • 在以前的版本中,从双栈 GitOps ZTP hub 部署 IPv6 主机会阻止将正确的回调 URL 传递给基板管理控制器 (BMC)。因此,IPv4 URL 无条件传递。这个问题已被解决,URL 的 IP 版本现在取决于 BMC 地址的 IP 版本。(OCPBUGS-23759)
  • 在以前的版本中,Bare Metal Operator (BMO)容器有一个 hostPort 指定为 60000,但 hostPort 在规格并不实际使用。因此,其他服务无法使用端口 60000。在这个版本中,会从容器配置中删除 hostPort 规格。现在,其他服务可以使用端口 60000。(OCPBUGS-18788)
  • 在以前的版本中,当 Cluster Baremetal Operator (CBO)检查基础架构 platformStatus 字段并返回 nil 时,Cluster Baremetal Operator (CBO) 会失败。在 OpenShift Container Platform 4.15 中,CBO 已被更新,以便在 apiServerInternalIPs 返回 nil 时检查并返回空白值,从而解决这个问题。(OCPBUGS-17589)
  • 在以前的版本中,inspector.ipxe 配置使用 IRONIC_IP 变量,它没有考虑 IPv6 地址,因为它们有括号。因此,当用户提供不正确的 boot_mac_address 时,iPXE fell 回到 inspector.ipxe 配置,它提供了一个格式不正确的 IPv6 主机标头,因为它不包含括号。

    在 OpenShift Container Platform 4.15 中,inspector.ipxe 配置已更新为使用 IRONIC_URL_HOST 变量,其帐户用于 IPv6 地址并解决问题。(OCPBUGS-27060)

  • 在以前的版本中,尝试使用带有 Cisco UCS 硬件的 RedFish Virtual Media 在新裸机主机中部署 OpenShift Container Platform 时存在一个错误。这个程序错误会阻止裸机主机的新置备,因为 Ironic 无法找到合适的虚拟介质设备。在这个版本中,Ironic 在所有可用虚拟介质设备中进行更多检查。因此,在使用 RedFish Virtual Media 时可以置备 Cisco UCS 硬件。(OCPBUGS-23105)
  • 在以前的版本中,当在将 secureBoot 字段设置为 disabled 的节点上将 bootMode 字段设置为 UEFISecureBoot 时,安装程序无法启动。在这个版本中,Ironic 已被更新,可以将 secureBoot 设置为 enabled 来安装 OpenShift Container Platform。(OCPBUGS-9303)
Builds
  • 在以前的版本中,在容器间复制内容时,时间戳不会被保留。在这个版本中,-p 标志添加到 cp 命令中,以允许保留时间戳。(OCPBUGS-22497)
Cloud Compute
  • 在以前的版本中,从 MachineSet spec 解析污点中的一个错误意味着自动扩展无法直接考虑 spec 中设置的任何污点。因此,当依赖 MachineSet 污点从零扩展时,不会考虑 spec 中的污点,这可能会导致扩展决策不正确。在这个版本中,从零进行扩展的逻辑已改进,解决了相关问题。因此,自动扩展现在可以正常工作,并可以识别污点来阻止在其中调度工作负载。(OCPBUGS-27750)
  • 在以前的版本中,用于提供镜像凭证的 Amazon Web Services (AWS) 代码被从 OpenShift Container Platform 4.14 中的 kubelet 中删除。因此,在没有指定 pull secret 的情况下从 Amazon Elastic Container Registry (ECR) 拉取镜像会失败,因为 kubelet 无法验证自己并将凭证传递给容器运行时。在这个版本中,配置了一个单独的凭证供应商,它负责为 kubelet 提供 ECR 凭证。现在,kubelet 可以从 ECR 拉取私有镜像。(OCPBUGS-27486)
  • 在以前的版本中,当部署托管 control plane (HCP) KubeVirt 集群 --node-selector 命令,节点选择器不会应用到 HCP 命名空间中的 kubevirt-cloud-controller-manager pod。因此,您无法将整个 HCP pod 固定到特定的节点。在这个版本中,这个问题已被解决。(OCPBUGS-27071)
  • 在以前的版本中,Microsoft Azure 负载均衡器的默认虚拟机(VM)类型从 Standard 改为 VMSS。因此,服务类型负载均衡器无法将标准虚拟机附加到负载均衡器。在这个版本中,将这些更改恢复到以前的配置,以保持与 OpenShift Container Platform 部署的兼容性。因此,负载均衡器附加现在更为一致。(OCPBUGS-26210)
  • 在以前的版本中,在将 enable_port_security 字段设置为 false 的 RHOSP 节点上部署将无法创建 LoadBalancer 服务。在这个版本中,这个问题已解决。(OCPBUGS-22246)
  • 如果 Nova 元数据服务在第一次引导时不可用,Red Hat OpenStack Platform (RHOSP) 上的 worker 节点使用域组件命名。OpenShift Container Platform 要求节点名称与 Nova 实例相同。名称差异导致节点的证书请求被拒绝,且节点无法加入集群。在这个版本中,worker 节点将在第一次引导时等待并重试元数据服务,确保节点被正确命名。(OCPBUGS-22200)
  • 在以前的版本中,当与具有 Container Storage Interface (CSI) 存储的节点一起使用时,集群自动扩展会崩溃。这个问题已在本发行版本中解决。(OCPBUGS-23096)
  • 在以前的版本中,在某些代理环境中,Amazon Web Services (AWS) 元数据服务可能无法在初始启动时不存在,且可能仅在启动后马上可用。kubelet 主机名获取没有考虑这个延迟,因此节点无法引导,因为它没有有效的主机名。在这个版本中,确保了主机名获取脚本在失败时会在一段时间内进行重试。因此,在一个短的时间段内,即使出现元数据无法访问的情况也可以正常工作。(OCPBUGS-20369)
  • 在 OpenShift Container Platform 版本 4.14 及更新的版本中,存在一个已知问题:安装 Microsoft Azure Stack Hub 失败。升级到 4.14 或更高版本的 Microsoft Azure Stack Hub 集群可能会在节点扩展或缩减时遇到负载均衡器配置问题。在这个问题解决前,不建议在 Microsoft Azure Stack Hub 环境中安装或升级 4.14。(OCPBUGS-20213)
  • 在以前的版本中,Cluster Autoscaler Operator 启动过程中的一些条件会导致一个锁定,阻止 Operator 成功启动并将自身标记为可用。因此,集群会降级。这个版本解决了这个问题。(OCPBUGS-18954)
  • 在以前的版本中,当控制节点添加到第二个内部实例组时,试图执行 Google Cloud Platform XPN 内部集群安装会失败。这个程序错误已被解决。(OCPBUGS-5755)
  • 在以前的版本中,在将节点标记为终止前,终止处理器会提前退出。此条件的发生取决于控制器收到终止信号的时间。在这个版本中,通过引入额外的终止检查来考虑早期终止的情况。(OCPBUGS-2117)
  • 在以前的版本中,当没有启用 Build 集群功能时,集群版本 Operator (CVO)无法同步构建 informer,且无法成功启动。在这个版本中,当没有启用 Build 功能时,CVO 会成功启动。(OCPBUGS-22956)
Cloud Credential Operator
  • 在以前的版本中,Cloud Credential Operator 实用程序 (ccoctl) 在集群级别上创建了自定义 GCP 角色,因此每个集群对允许的自定义角色数量赋予配额限制。由于 GCP 删除策略,删除的自定义角色在删除后持续为配额限制提供配额限制。在这个版本中,自定义角色在项目级别添加,而不是集群级别,以减少创建的自定义角色总数。另外,在删除 ccoctl 工具在安装过程中创建的 GCP 资源时,可以使用清理自定义角色的选项。这些更改可帮助避免到达允许的自定义角色数量的配额限制。(OCPBUGS-28850)
  • 在以前的版本中,当没有启用 Build 集群功能时,集群版本 Operator (CVO)无法同步构建 informer,且无法成功启动。在这个版本中,当没有启用 Build 功能时,CVO 会成功启动。(OCPBUGS-26510)
  • 在以前的版本中,运行 ccoctl azure create 命令创建的存储桶会被禁止允许公共 blob 访问,因为 Microsoft Azure 存储桶的默认行为发生了变化。在这个版本中,运行 ccoctl azure create 命令创建的存储桶被明确设置为允许公共 blob 访问。(OCPBUGS-22369)
  • 在以前的版本中,Cloud Controller Manager 服务帐户中省略了 Azure Managed Identity 角色。因此,Cloud Controller Manager 无法使用私有发布方法管理部署到现有 VNet 的环境中的服务类型负载均衡器。在这个版本中,在 Cloud Credential Operator 实用程序 (ccoctl) 和 Azure Managed Identity 安装中添加了缺少的角色到带有私有发布的现有 VNet 中。(OCPBUGS-21745)
  • 在以前的版本中,Cloud Credential Operator 不支持更新存储在 kube-system 命名空间中的 root secret vshpere-creds 中的 vCenter 服务器值。因此,尝试更新这个值会导致旧值和新值都存在,因为组件 secret 没有正确同步。在这个版本中,Cloud Credential Operator 在同步过程中重置 secret 数据,以便支持更新 vCenter 服务器值。(OCPBUGS-20478)
  • 在以前的版本中,Cloud Credential Operator 实用程序 (ccoctl) 无法在中国区中创建 AWS 安全令牌服务 (STS) 资源,因为中国区域 DNS 后缀 .amazonaws.com.cn 与其它区域中使用的后缀 .amazonaws.com 不同。在这个版本中,ccoctl 可以检测正确的 DNS 后缀,并使用它来创建所需资源。(OCPBUGS-13597)
Cluster Version Operator
  • Cluster Version Operator (CVO) 持续检索更新建议,并根据当前集群状态评估已知的条件更新风险。在以前的版本中,失败的风险评估会阻止 CVO 获取新的更新建议。当因为更新建议服务处理一个没有很好定义的更新风险而造成风险评估失败,这个问题可能会阻止 CVO 通知更新建议服务提供改进的风险声明。在这个版本中,CVO 继续轮询更新建议服务,无论是否成功评估更新风险。(OCPBUGS-25949)
开发人员控制台
  • 在以前的版本中,因为特定资源的 API 版本最新被更新,BuildRun 日志在 BuildRun 的 Logs 标签页中不可见。在这个版本中,TaskRuns 的日志被添加到 BuildRun 的 Logs 标签页中,用于 builds Operator 的 v1alpha1 和 v1beta1 版本。(OCPBUGS-29283)
  • 在以前的版本中,当选择了从 ArtifactHub 安装的 Pipeline Builder 中的一个 Task 时,控制台 UI 失败,并显示一个错误页。在这个版本中,控制台 UI 不再需要可选数据,控制台 UI 不再失败。(OCPBUGS-24001)
  • 在以前的版本中,Shipwright Plugin 的 Actions 菜单中的 Edit BuildBuildRun 选项不允许在 YAML 选项卡中编辑。在这个版本中,您可以在 YAML 标签页中编辑。(OCPBUGS-23164)
  • 在以前的版本中,控制台只搜索存储库中的文件名 Dockerfile,以识别 Import Flows 中适合 Container 策略的存储库。由于可以使用其他容器化工具,所以对 Containerfile 文件名的支持现在也适用于 Container 策略。(OCPBUGS-22976)
  • 在以前的版本中,当未授权用户打开包含路径和查询参数的控制台的链接,且它们被重定向到登录页面时,查询参数不会在登录成功后恢复。因此,用户需要恢复搜索,或者再次点击到控制台的链接。在这个版本中,最新版本会保存并恢复与路径类似的查询参数。(OCPBUGS-22199)
  • 在以前的版本中,当从 AddTopology 视图中进入到 Create Channel 页面时,会存在默认名称 Channel,但 Create 按钮被禁用,在 name 字段中显示 Required。在这个版本中,如果添加了默认频道名称,点 Create 按钮时不会显示 Required 信息。(OCPBUGS-19783)
  • 在以前的版本中,使用快速搜索功能时,可以从中选择类似的选项。在这个版本中,Source-to-image 选项与 Topology 快速搜索中的 Samples 选项不同。(OCPBUGS-18371)
  • 在以前的版本中,当安装了 {serverless-product-name} Operator 且尚未创建 Knative (Kn) serving 实例时,当从 Administration Cluster Settings 进入 Global configuration 页面,点 Knative-serving 会显示 404 page not found 错误。在这个版本中,在将 Knative-serving 添加到 全局配置 前,会进行检查来确定是否创建了 Knative serving 实例。(OCPBUGS-18267)
  • 在以前的版本中,Edit Knative Service 表单存在问题,阻止用户编辑之前创建的 Knative 服务。在这个版本中,您可以编辑之前创建的 Knative 服务。(OCPBUGS-6513)
etcd Cluster Operator
  • 在以前的版本中,cluster-backup.sh 脚本会无限期地缓存本地机器上 etcdctl 二进制文件,从而无法进行更新。在这个版本中,cluster-backup.sh 脚本每次运行时都会拉取最新的 etcdctl 二进制文件。(OCPBUGS-19052)
托管 Control Plane
  • 在以前的版本中,当在托管集群中使用自定义 Container Network Interface (CNI) 插件时,只有在将 hostedcluster.spec.networking.networkType 字段设置为 Calico 时,才会配置基于角色的访问控制(RBAC)规则。当您将 hostedcluster.spec.networking.networkType 字段设置为 Other 时,不会配置基于角色的访问控制 (RBAC) 规则。在这个版本中,当将 hostedcluster.spec.networking.networkType 字段设置为 Other 时,RBAC 规则会被正确配置。(OCPBUGS-28235)
  • 在以前的版本中,节点端口无法正确公开,因为 kube-apiserver 资源的 ipFamilyPolicy 字段被设置为 SingleStack。在这个版本中,如果 ipFamilyPolicy 设置为 PreferredDualStack,节点端口会被正确公开。(OCPBUGS-23350)
  • 在以前的版本中,在为托管集群配置 Open Virtual Network (OVN)后,cloud-network-config-controllermultus-admission-controller 和'ovnkube-control-plane' 资源缺少 hypershift.openshift.io/hosted-control-plane:{hostedcluster resource namespace}-{cluster-name} 标签。在这个版本中,在为托管集群配置 Open Virtual Network (OVN)后,cloud-network-config-controllermultus-admission-controller 和'ovnkube-control-plane' 资源包含 hypershift.openshift.io/hosted-control-plane:{hostedcluster resource namespace}-{cluster-name} 标签。(OCPBUGS-19370)
  • 在以前的版本中,在创建托管集群后,使用 user-ca-bundle 以外的名称来创建配置映射,如果 Control Plane Operator (CPO) 失败,部署将失败。在这个版本中,您可以使用唯一名称来创建配置映射。CPO 已被成功部署。(OCPBUGS-19419)
  • 在以前的版本中,带有 .status.controlPlaneEndpoint.port: 443 的托管集群会错误地为公共和私有路由器公开端口 6443。在这个版本中,带有 .status.controlPlaneEndpoint.port: 443 的托管集群仅公开端口 443。(OCPBUGS-20161)
  • 在以前的版本中,如果 Kube API 服务器使用 IPv4 和 IPv6 公开,且 IP 地址在 HostedCluster 资源中设置,则 IPv6 环境无法正常工作。在这个版本中,当 Kube API 服务器使用 IPv4 和 IPv6 公开时,IPv6 环境可以正常工作。(OCPBUGS-20246)
  • 在以前的版本中,如果 console Operator 和 Ingress pod 位于同一节点上,控制台 Operator 将失败,并将 console 集群 Operator 标记为不可用。在这个版本中,如果 console Operator 和 Ingress pod 位于同一节点上,则控制台 Operator 不再失败。(OCPBUGS-23300)
  • 在以前的版本中,如果卸载托管集群会卡住,则 Control Plane Operator (CPO) 的状态会被错误地报告。在这个版本中,CPO 的状态会被正确报告。(OCPBUGS-26412)
  • 在以前的版本中,如果您在初始升级进行时尝试覆盖 OpenShift Container Platform 版本,则托管的集群升级会失败。在这个版本中,如果您使用新的 OpenShift Container Platform 版本覆盖当前的升级,升级会成功完成。(OCPBUGS-18122)
  • 在以前的版本中,如果您为托管的 control plane 更新 pull secret,它不会立即反映在 worker 节点上。在这个版本中,当更改 pull secret 时,会触发协调,worker 节点会立即使用新的 pull secret 更新。(OCPBUGS-19834)
  • 在以前的版本中,Hypershift Operator 会为不再存在的节点池报告时间序列。在这个版本中,Hypershift Operator 可以正确地报告节点池的时间序列。(OCPBUGS-20179)
  • 在以前的版本中,默认启用 --enable-uwm-telemetry-remote-write 标志。此设置阻止了遥测协调。在这个版本中,您可以禁用 --enable-uwm-telemetry-remote-write 标志来允许遥测协调。(OCPBUGS-26410)
  • 在以前的版本中,当 IAM 角色路径 ARN 作为额外的允许主体提供时,control Plane Operator (CPO)无 法更新 VPC 端点服务:arn:aws:iam::${ACCOUNT_ID}:role/${PATH}/name 在这个版本中,CPO 使用 arn:aws:iam::${ACCOUNT_ID}:role/${PATH}/name 更新 VPC 端点服务,运行凭证成功。(OCPBUGS-23511)
  • 在以前的版本中,要自定义 OAuth 模板,如果您配置了 HostedCluster.spec.configuration.oauth 字段,此设置不会反映在托管的集群中。在这个版本中,您可以在托管集群中成功配置 HostedCluster.spec.configuration.oauth 字段。(OCPBUGS-15215)
  • 在以前的版本中,当使用双栈网络部署托管集群时,默认情况下,clusterIP 字段被设置为 IPv6 网络,而不是 IPv4 网络。在这个版本中,当使用双栈网络部署托管集群时,clusterIP 字段默认设置为 IPv4 网络。(OCPBUGS-16189)
  • 在以前的版本中,当部署托管集群时,如果您在 HostedCluster 资源中配置了 advertiseAddress 字段,则托管集群部署会失败。在这个版本中,您可以在 HostedCluster 资源中配置 advertiseAddress 字段后成功部署托管集群。(OCPBUGS-19746)
  • 在以前的版本中,当您将 hostedcluster.spec.networking.networkType 字段设置为 Calico 时,Cluster Network Operator 没有充足的基于角色的访问控制(RBAC)权限来部署 network-node-identity 资源。在这个版本中,network-node-identity 资源已被成功部署。(OCPBUGS-23083)
  • 在以前的版本中,您无法为托管的集群中的审计日志更新默认配置。因此,托管的集群的组件无法生成审计日志。在这个版本中,您可以通过更新默认配置来为托管集群的组件生成审计日志。(OCPBUGS-13348)
镜像 Registry
  • 在以前的版本中,Image Registry 修剪器依赖于由 OpenShift API 服务器管理的集群角色。这可能会导致修剪器任务在升级过程中间歇性失败。现在,Image Registry Operator 负责创建修剪器集群角色,该角色解决了这个问题。(OCPBUGS-18969)
  • Image Registry Operator 在获取访问密钥的过程中对存储帐户列表端点发出 API 调用。在有多个 OpenShift Container Platform 集群的项目中,这可能会导致 API 限制被访问。因此,当尝试创建新集群时,会返回 429 错误。在这个版本中,调用之间的时间从 5 分钟增加到 20 分钟,不会再达到 API 限制。(OCPBUGS-18469)
  • 在以前的版本中,QPS 和 Burst 的默认低设置会导致镜像 registry 在适当的时间没有返回 API 服务器请求时返回网关超时错误。要解决这个问题,用户必须重启镜像 registry。在这个版本中,QPS 和 Burst 的默认设置有所增加,这个问题不再发生。(OCPBUGS-18999)
  • 在以前的版本中,当为 Cluster Image Registry Operator 创建部署资源时,错误处理会使用指针变量,而无需首先检查值是否为 nil。因此,当指针值为 nil 时,日志中会报告 panic。在这个版本中,添加了一个 nil 检查,以便日志中不再报告 panic。(OCPBUGS-18103)
  • 在以前的版本中,OpenShift Container Platform 4.14 发行版本引入了一个更改,让用户在从 OpenShift Container Platform 版本 4.13 更新至 4.14 时会丢失镜像。对默认内部 registry 的更改会导致 registry 在使用 Microsoft Azure 对象存储时使用不正确的路径。在这个版本中,使用正确的路径,并将作业添加到 registry operator 中,该 operator 会将任何 Blob 推送到使用错误的存储路径的 registry 中,这会有效地将两个不同的存储路径合并到一个路径中。

    注意

    在这个版本中,Azure Stack Hub (ASH) 无法工作。在升级到 4.14.14+ 时,使用 OCP 版本 4.14.0 到 4.14.13 的 ASH 用户需要执行手动步骤来将 Blob 移到正确的存储路径。

    (OCPBUGS-29525)

安装程序
  • 在以前的版本中,因为验证错误,在 AWS 上安装集群可能会失败。在这个版本中,安装程序会生成所需的云配置对象来满足机器配置 Operator。这会确保安装成功。(OCPBUGS-12707)
  • 在以前的版本中,使用附加到虚拟机的服务帐户在 GCP 上安装集群,因为内部数据验证 bug 可能会失败。在这个版本中,安装程序已被更新,在使用附加到虚拟机的服务帐户时正确验证身份验证参数。(OCPBUGS-19376)
  • 在以前的版本中,vSphere 连接配置接口在 "vCenter cluster" 字段中显示网络名称而不是集群名称。在这个版本中,"vCenter cluster"字段已被更新以显示集群名称。(OCPBUGS-23347)
  • 在以前的版本中,当使用 credentialsMode 参数而不是 Manual 进行身份验证,且您使用 gcloud cli 工具,安装程序会从 osServiceAccount.json 文件中检索 Google Cloud Platform (GCP) 凭证。此操作会导致 GCP 集群安装失败。现在,验证检查会扫描 install-config.yaml 文件,并在未将 credentialsMode 设置为 Manual 时提示您输入信息。请注意,在 Manual 模式中,您必须编辑清单并提供凭证。(OCPBUGS-17757)
  • 在以前的版本中,当试图使用安装程序置备的基础架构在 VMware vSphere 上安装 OpenShift Container Platform 时,资源池对象会包括双反斜杠。这个格式会导致安装程序生成到网络资源的不正确的路径,这会导致安装失败。在安装程序处理这个资源池对象后,安装程序会输出 "network not found" 错误消息。现在,安装程序会检索集群对象,以便将 InventoryPath 与网络名称加入,以便安装程序指定到资源池对象的正确路径。(OCPBUGS-23376)
  • 在以前的版本中,在安装 Azure Red Hat OpenShift 集群后,一些集群 Operator 不可用。这是因为在安装过程中不会创建集群的负载均衡器之一。在这个版本中,负载均衡器会被正确创建。安装集群后,所有集群 Operator 都可用。(OCPBUGS-24191)
  • 在以前的版本中,如果 VMware vSphere 集群包含离线的 ESXi 主机,安装会失败并显示 "panic: runtime error: invalid memory address or nil pointer dereference" 信息。在这个版本中,错误消息指出 ESXi 主机不可用。(OCPBUGS-20350)
  • 在以前的版本中,如果您在 AWS 上安装集群时只使用默认机器配置来指定现有的 AWS 安全组(platform.aws.defaultMachinePlatform.additonalSecurityGroupsIDs),则安全组不会应用到 control plane 机器。在这个版本中,当使用默认机器配置指定现有 AWS 安全组时,现有 AWS 安全组会被正确应用到 control plane。(OCPBUGS-20525)
  • 在以前的版本中,当指定的机器实例类型 (platform.aws.type) 不支持为 control plane 或计算机器 (controlPlane.architecturecompute.architecture) 指定的机器架构时,在 AWS 上安装集群会失败。在这个版本中,安装程序会检查机器实例类型是否支持指定的构架,并在不支持该架构时显示错误消息。(OCPBUGS-26051)
  • 在以前的版本中,安装程序在安装集群前不会验证一些配置设置。当这些设置只在默认机器配置中指定时 (platform.azure.defaultMachinePlatform) 时会发生此行为。因此,即使满足以下条件,安装也会成功:

    • 指定了不支持的机器实例类型。
    • 指定的机器实例类型不支持额外的功能,如加速网络或使用 Azure ultra 磁盘。

    在这个版本中,安装程序会显示一个指定不支持配置的错误信息。(OCPBUGS-20364)

  • 在以前的版本中,当将 AWS 集群安装到 Secret Commercial Cloud Services (SC2S) 区域并指定现有 AWS 安全组时,安装会失败,并显示在区域中不可用的错误。在这个版本中,安装会成功。(OCPBUGS-18830)
  • 在以前的版本中,当您在 install-config.yaml 配置文件的 kmsKeyARN 部分指定密钥管理服务(KMS)加密密钥时,在 Amazon Web Services (AWS)上安装集群时,在集群安装操作过程中不会添加权限角色。在这个版本中,在配置文件中指定密钥后,会在集群中添加一组额外的密钥,以便集群成功安装。如果您在配置文件中指定了 credentialsMode 参数,则忽略所有 KMS 加密密钥。(OCPBUGS-13664)
  • 在以前的版本中,Oracle® Cloud Infrastructure (OCI) 上的基于代理的安装没有显示控制台,显示用户的安装进度,从而更难以跟踪安装进度。在这个版本中,OCI 上的基于代理的安装会在控制台中显示安装进度。(OCPBUGS-19092)
  • 在以前的版本中,如果在基于 Agent 的安装程序的 install-config.yamlagent-config.yaml 文件中定义了静态网络,并且接口名称超过 15 个字符,则网络管理器不允许接口启动。在这个版本中,接口名称超过 15 个字符,安装可以继续。(OCPBUGS-18552)
  • 在以前的版本中,如果用户没有在 agent-config.yaml 文件中指定 rendezevousIP 字段,且主机在具有静态网络配置的同一文件中定义,则第一个主机被指定为 rendezvous 节点,而不考虑其角色。这会导致安装失败。在这个版本中,基于代理的安装程序首先查看具有 master 角色和定义静态 IP 的主机来优先选择 rendezvous 节点搜索。如果没有找到,则会在没有定义角色的主机中搜索潜在的候选者。明确配置了 worker 角色的静态网络配置的主机将被忽略。(OCPBUGS-5471)
  • 在以前的版本中,所有基于代理的安装过程中会显示 Agent 控制台应用程序,在继续安装前启用网络自定义。因为云安装过程中很少需要网络配置,所以这在 Oracle® Cloud Infrastructure (OCI) 上并不必要地减慢安装速度。

    在这个版本中,OCI 上的基于代理的安装不再显示 Agent 控制台应用程序并更快地继续。(OCPBUGS-19093)

  • 在以前的版本中,当平台定义为 external 时,基于代理的安装程序默认启用了外部 Cloud Controller Manager (CCM)。这导致用户在不需要它的云平台中执行安装时禁用外部 CCM。在这个版本中,只有在 Oracle® Cloud Infrastructure (OCI) 上执行基于代理的安装时,才需要用户启用外部 CCM。(OCPBUGS-18455)
  • 在以前的版本中,agent wait-for 命令无法在 .openshift_install.log 文件中记录日志。在这个版本中,当使用 agent wait-for 命令时,日志会在 .openshift_install.log 文件中记录。(OCPBUGS-5728)
  • 在以前的版本中,bootstrap 机器中的 assisted-service 在 bootstrap 节点重启后不可用,从而导致来自 assisted-installer-controller 的任何通信。这会停止 assisted-installer-controller 从 worker 节点中删除未初始化的污点,从而导致集群安装在集群 Operator 上挂起。

    在这个版本中,assisted-installer-controller 可以删除未初始化的污点,即使 assisted-service 不可用,安装也可以继续。(OCPBUGS-20049)

  • 在以前的版本中,平台类型错误地需要在基于 Agent 的安装程序所使用的 AgentClusterInstall 集群清单中需要使用小写。在这个版本中,需要使用大小写混合的值,但也接受原来的小写值并可以正确处理。(OCPBUGS-19444)
  • 在以前的版本中,manila-csi-driver-controller-metrics 服务有空端点,因为应用程序选择器的名称不正确。在这个版本中,应用程序选择器名称被改为 openstack-manila-csi,这个问题已被修复。(OCPBUGS-9331)
  • 在以前的版本中,支持的安装程序删除了所有 vSphere 节点的未初始化污点,这会阻止 vSphere CCM 正确初始化节点。这会导致 vSphere CSI Operator 在初始集群安装过程中降级,因为缺少节点的供应商 ID。在这个版本中,辅助安装程序检查 install-config.yaml 中是否提供了 vSphere 凭证。如果提供了凭证,OpenShift 版本大于或等于 4.15,且使用了代理安装程序,则 assisted-installer 和 assisted-installer-controller 不会删除未初始化的污点。这意味着,节点的 providerID 和虚拟机的 UUID 会被正确设置,并安装了 vSphere CSI Operator。(OCPBUGS-29485)
Kubernetes Controller Manager
  • 在以前的版本中,当为守护进程集设置 maxSurge 字段且更新容限时,pod 无法缩减,这会导致因为使用不同的节点集来调度失败。在这个版本中,如果没有满足调度限制,节点会被正确排除,且 rollouts 可以成功完成。(OCPBUGS-19452)
Machine Config Operator
  • 在以前的版本中,一个拼写错误的环境变量会阻止脚本检测存在 node.env 文件。这会导致 node.env 文件的内容在每次引导后被覆盖,kubelet 主机名无法更改。在这个版本中,环境变量拼写已被修正,并重启后对 node.env 文件的编辑仍然有效。(OCPBUGS-27307)
  • 在以前的版本中,Machine Config Operator 允许进行用户提供的证书颁发机构更新,而无需触发新的机器配置。由于这些更新的新写入方法缺少了新行字符,所以会导致对 CA 文件的内容进行验证错误,并且 Machine Config Daemon 被降级。在这个版本中,CA 文件内容已被修复,更新会如预期进行。(OCPBUGS-25424)
  • 在以前的版本中,Machine Config Operator 允许用户提供的证书颁发机构捆绑包更改应用到集群,而无需机器配置,以防止中断。因此,user-ca 捆绑包没有传播到集群中运行的应用程序,并需要重启来查看更改生效。在这个版本中,MCO 运行 update-ca-trust 命令并重启 CRI-O 服务,以便正确应用新的 CA。(OCPBUGS-24035)
  • 在以前的版本中,Machine Config Operator 用来处理镜像 registry 证书的初始机制将删除并重新创建新的配置映射,而不是修补现有配置映射。这会导致 MCO 的 API 使用量显著增加。在这个版本中,机制已被更新,它使用 JSON 补丁,从而解决了这个问题。(OCPBUGS-18800)
  • 在以前的版本中,Machine Config Operator 会多次拉取 baremetalRuntimeCfgImage 容器镜像:第一次获取节点详情并随后验证镜像是否可用。这会导致在镜像服务器或 Quay 不可用时证书轮转过程中出现问题,后续的镜像拉取会失败。但是,如果镜像因为第一个镜像拉取而已存在在节点中,则节点应会启动 kubelet。在这个版本中,baremetalRuntimeCfgImage 镜像只拉取一次,从而解决了这个问题。(OCPBUGS-18772)
  • 在以前的版本中,当 OpenShift Container Platform 为一些网络环境进行更新的过程中,nmstatectl 命令无法检索正确的持久性 MAC 地址。这会导致接口被重命名,且节点上的绑定连接在更新过程中中断。在这个版本中,补丁被应用到 nmstate 软件包和 MCO,以如预期防止重命名和更新。(OCPBUGS-17877)
  • 在以前的版本中,Machine Config Operator 成为镜像 registry 证书的默认供应商,并删除 node-ca 守护进程。这会导致 HyperShift Operator 出现问题,因为删除 node-ca 守护进程也会删除 Machine Config Server (MCS)中的镜像 registry 路径,而 HyperShift 用来获取 Ignition 配置并启动 bootstrap 过程。在这个版本中,提供了一个包含 MCS 镜像 registry 数据的标记,Ignition 可以在 bootstrap 过程中使用它,从而解决这个问题。(OCPBUGS-17811)
  • 在以前的版本中,旧的 RHCOS 引导镜像在引导时在服务间包含一个竞争条件,这会阻止节点在拉取镜像前运行 rhcos-growpart 命令,从而导致节点启动。这会导致,在使用旧引导镜像的集群中节点扩展有时会失败,因为它确定了磁盘上没有剩余空间。在这个版本中,进程被添加到 Machine Config Operator 中,以获取更严格的服务排序,以便节点可以正确引导。

    注意

    在这些情况下,更新到较新的引导镜像可防止出现类似的问题。

    (OCPBUGS-15087)

  • 在以前的版本中,Machine Config Operator (MCO)利用 oc image extract 命令在更新过程中拉取镜像,但在拉取这些镜像时,ImageContentSourcePolicy (ICSP) 对象不会被遵守。在这个版本中,MCO 在内部使用 podman pull 命令,镜像会从 ICSP 中配置的位置拉取。(OCPBUGS-13044)
管理控制台
  • 在以前的版本中,Expand PVC 模仿现有 PVC 有一个 spec.resources.requests.storage 值,其中包含一个单元。因此,当使用 Expand PVC 模式来扩展带有没有单元的 requests.storage 值的 PVC 时,控制台会在模态中显示不正确的值。在这个版本中,控制台已被更新,以处理带有和没有单元的存储值。(OCPBUGS-27909)
  • 在以前的版本中,控制台会检查来确定文件是否足够强大。因此,XML 文件被错误地识别为二进制,且不在控制台中显示。在这个版本中,添加了一个额外的检查来更精确地检查文件是否是二进制的。(OCPBUGS-26591)
  • 在以前的版本中,当集群中存在没有 spec.unhealthyConditionsMachineHealthCheck 时,Node Overview 页面将无法显示。在这个版本中,Node Overview 页面已被更新,允许没有 spec.unhealthyConditionsMachineHealthCheck。现在,即使集群中存在没有 spec.unhealthyConditionsMachineHealthChecksNode Overview 页面也会显示。(OCPBUGS-25140)
  • 在以前的版本中,控制台没有与警报通知接收器的最新匹配者键更新,并且控制台创建的报警管理器接收器使用旧的匹配键。在这个版本中,控制台使用 matchers,并在修改现有警报管理器时将任何现有匹配实例转换为匹配者。(OCPBUGS-23248)
  • 在以前的版本中,模拟访问被错误地应用。在这个版本中,控制台可以正确地应用模拟访问。(OCPBUGS-23125)
  • 在以前的版本中,当安装 Advanced Cluster Management for Kubernetes (ACM) 和多集群引擎的 Kubernetes (MCE) Operator 并启用它们的插件时,YAML 代码 Monaco 编辑器将无法加载。在这个版本中,添加了可选资源链以防止资源调用失败,当安装 ACM 和 MCE Operator 时,YAML 编辑器不再加载。(OCPBUGS-22778)
监控
  • 在以前的版本中,如果集群的 IPv6 禁用了 IPv6,则 monitoring-plugin 组件不会启动。此发行版本更新了组件,以支持集群中的以下互联网协议配置:仅 IPv4、IPv6 和 IPv4 和 IPv6。这个更改解决了这个问题,如果集群配置为只支持 IPv6,则 monitoring-plugin 组件现在可以启动。(OCPBUGS-21610)
  • 在以前的版本中,在升级过程中,用于核心平台监控和用户定义的项目的 Alertmanager 实例可能会意外成为对等的。当在同一集群中部署多个 Alertmanager 实例时,可能会出现此问题。此发行版本解决了这个问题,在 Alertmanager 中添加 --cluster.label 标志,这有助于阻止任何不适用于集群的流量。(OCPBUGS-18707)
  • 在以前的版本中,无法在 Alertmanager 配置中使用纯文本电子邮件模板来发送纯文本电子邮件警报。在这个版本中,您可以通过将电子邮件接收器的 html 字段设置为空字符串,将 Alertmanager 配置为发送仅限文本的电子邮件警报。(OCPBUGS-11713)
网络
  • 在以前的版本中,当使用空 spec 创建 IngressController 时,IngressController 的状态会显示 Invalid。但是,route_controller_metrics_routes_per_shard 指标仍会被创建。删除无效的 IngressController 时,route_controller_metrics_routes_per_shard 指标将无法清除,它会显示该指标的信息。在这个版本中,指标只为接受的 IngressController 创建,从而解决了这个问题。(OCPBUGS-3541)
  • 在以前的版本中,大于 Go 编程语言可以解析的超时值无法被正确验证。因此,大于 HAProxy 可解析的超时值会导致 HAProxy 出现问题。在这个版本中,如果指定的超时值大于可以解析的值,则它会被限制为 HAProxy 可以解析的最大值。因此,HAProxy 不再会存在问题。(OCPBUGS-6959)
  • 在以前的版本中,当集群关闭或休眠时,外部邻居可能会更改其 MAC 地址。虽然 Gratuitous 地址解析协议(GARP)应该通知其他与这个更改相关的邻居,但集群不会处理 GARP,因为它没有运行。当集群重新启动时,可能无法从 OVN-Kubernetes 集群网络访问该邻居,因为使用了过时的 MAC 地址。这个版本启用了一个老化机制,邻居的 MAC 地址会每 300 秒定期刷新。(OCPBUGS-11710)
  • 在以前的版本中,当 IngressController 被配置为使用 SSL/TLS,但没有 clientca-configmap finalizer,Ingress Operator 会在不检查 IngressController 是否标记为删除的情况下尝试添加终结器。因此,如果 IngressController 配置了 SSL/TLS,之后已被删除,Operator 可以正确地删除终结器。然后,它会重复,并错误地尝试并错误地更新 IngressController 以添加终结器(finalizer),从而导致 Operator 的日志中的错误消息。

    在这个版本中,Ingress Operator 不再将 clientca-configmap finalizer 添加到标记为删除的 IngressController 中。因此,Ingress Operator 不再尝试执行错误更新,不再记录相关的错误。(OCPBUGS-14994)

  • 在以前的版本中,当 OVN-Kubernetes 启动时,在处理已调度的 pod 和节点上完成的 pod 之间发生竞争条件。当节点重启时,通常会发生这种情况。因此,同一 IP 会错误地分配给多个 pod。在这个版本中解决了竞争条件,在这种情况下,相同的 IP 不会分配给多个 pod。(OCPBUGS-16634)
  • 在以前的版本中,因为重复的主机声明导致路由被拒绝的错误。当发生这种情况时,系统会错误地选择它遇到的第一个路由,这并不是始终冲突的路由。在这个版本中,首先检索冲突主机的所有路由,然后根据其提交时间排序。这允许系统准确确定并选择最新的冲突路由。(OCPBUGS-16707)
  • 在以前的版本中,当启动一个新的 ipspec-host pod 时,它会清除或删除现有的 XFRM 状态。因此,它将删除现有南北流量策略。这个问题已解决。(OCPBUGS-19817)
  • 在以前的版本中,在使用 Kubevirt 供应商时,ovn-k8s-cni-overlay, topology:layer2 NetworkAttachmentDefinition 无法在托管 pod 中工作。因此,pod 不会启动。这个问题已被解决,pod 现在可以从 ovn-k8s-cni-overlay NetworkAttachmentDefinition 开始。(OCPBUGS-22869)
  • 在以前的版本中,Azure 上游 DNS 不符合非EDNS DNS 查询,因为它返回一个大于 512 字节的有效负载。因为 CoreDNS 1.10.1 不再将 EDNS 用于上游查询,且仅在原始客户端查询使用 EDNS 时只使用 EDNS,所以当上游使用 CoreDNS 1.10.1 返回大于 512 字节的有效负载时,组合会导致溢出 servfail 错误。因此,从 OpenShift Container Platform 4.12 升级到 4.13 会导致一些 DNS 查询无法正常工作。

    在这个版本中,CoreDNS 现在截断响应,而不是返回溢出 servfail 错误,这表示客户端可以在 TCP 中重试。因此,当遇到溢出错误时,带有不合规上游的集群会重试使用 TCP。这可防止 OpenShift Container Platform 4.12 和 4.13 之间的功能中断。(OCPBUGS-27904), (OCPBUGS-28205)

  • 在以前的版本中,私有 Microsoft Azure 集群有一个限制,其中指定为出口 IP 地址的辅助 IP 地址缺少出站连接。这意味着与这些 IP 地址关联的 pod 无法访问互联网。但是,它们仍然可以访问基础架构网络中的外部服务器,这是出口 IP 地址的预期用例。在这个版本中,为 Microsoft Azure 集群启用出口 IP 地址,允许通过出站规则实现出站连接。(OCPBUGS-5491)
  • 在以前的版本中,当使用多个 NICS 时,当标签或未标记时,出口 IP 地址无法正确分配给正确的出口节点。这个程序错误已被解决,出口 IP 地址现在被重新分配给正确的出口节点。(OCPBUGS-18162)
  • 在以前的版本中,引入一个新的逻辑来确定运行 Keepalived 进程的位置不会考虑入口 VIP 或 VIP。因此,Keepalived pod 可能没有在入口节点上运行,这可能会中断集群。在这个版本中,逻辑包括入口 VIP 或 VIP,Keepalived pod 应该始终可用。(OCPBUGS-18771)
  • 在以前的版本中,在 Hypershift 集群中,pod 并不总是调度到单独的区。在这个版本中,multus-admission-controller 部署为 Hypershift 使用 PodAntiAffinity 规格来在正确的区中操作。(OCPBUGS-15220)
  • 在以前的版本中,存在一个 10 分钟的证书来实现 Multus。在这个版本中,每个节点证书用于 Multus CNI 插件,证书的存在时间增加到 24 小时。(OCPBUGS-19861), (OCPBUGS-19859)
  • 在以前的版本中,spec.desiredState.ovn.bridge-mappings API 配置删除每个 Kubernetes 节点上的 Open vSwitch (OVS)本 地表中的所有外部 ID。因此,OVN 机箱配置已被删除,并破坏默认集群网络。在这个版本中,您可以使用 ovn.bridge-mappings 配置,而不影响 OVS 配置。(OCPBUGS-18869)
  • 在以前的版本中,如果 NMEA 句子在到 E810 控制器的过程中丢失,则 T-GM 将无法同步网络同步链中的设备。如果满足这些条件,PTP Operator 会报告错误。在这个版本中,在 NMEA 字符串丢失时,实施了一个修复来报告 'FREERUN'。(OCPBUGS-20514)
  • 在以前的版本中,pod 从 Whereabouts CNI 插件创建的池中分配 IP,会在节点强制重启后处于 ContainerCreating 状态。在这个版本中,在节点强制重启后与 IP 分配关联的 Whereabouts CNI 插件问题。(OCPBUGS-18893)
  • 在以前的版本中,当使用支持的安装程序时,OVN-Kubernetes 需要很长时间才能引导。出现这个问题的原因是有三个 ovnkube-control-plane 节点。前两个启动正常启动,但第三个会延迟安装时间。这个问题只有在超时过期后才会解决;之后,安装将继续。

    在这个版本中,第三个 ovnkube-control-plane 节点已被删除。因此,安装时间已被减少。(OCPBUGS-29480)

节点
  • 由于 Machine Config Operator (MCO) 如何处理 worker 池和自定义池的机器配置,MCO 可能会为自定义池应用不正确的 cgroup 版本参数。因此,自定义池中的节点可能具有不正确的 cgroup 内核参数,这会导致无法预计的行为。作为临时解决方案,请为 worker 和 control plane 池指定 cgroup 版本内核参数。(OCPBUGS-19352)
  • 在以前的版本中,CRI-O 没有正确配置 cgroup 层次结构,以考虑 crun 创建 cgroup 的唯一方式。因此,使用 PerformanceProfile 禁用 CPU 配额无法正常工作。在这个版本中,使用 PerformanceProfile 禁用 CPU 配额可以正常工作。(OCPBUGS-20492)
  • 在以前的版本中,因为默认设置 (container_use_dri_devices,true) 容器无法使用 dri 设备。在这个版本中,容器可以按预期使用 dri 设备。(OCPBUGS-24042)
  • 在以前的版本中,kubelet 使用 unconfined_service_t SELinux 类型运行。因此,由于 Selinux 拒绝,我们的所有插件都无法部署。在这个版本中,kubelet 使用 kubelet_exec_t SELinux 类型运行。因此,插件会如预期部署。(OCPBUGS-20022)
  • 在以前的版本中,CRI-O 会在升级时自动删除容器镜像。这会导致预拉取 (pull) 镜像出现问题。在这个版本中,当 OpenShift Container Platform 执行次要升级时,容器镜像不会被自动删除,而是受到 kubelet 的镜像垃圾回收,这会根据磁盘用量触发。(OCPBUGS-25228)
  • 在以前的版本中,当使用 ansible playbook 将 RHCOS 机器添加到现有集群时,机器会安装 openvswitch 版本 2.7。在这个版本中,使用 ansible playbook 添加到现有集群的 RHCOS 机器会安装 openvswitch 版本 3.1。此 openvswitch 版本提高了网络性能。(OCPBUGS-18595)
Node Tuning Operator (NTO)
  • 在以前的版本中,在应用 PerformanceProfile 后 Tuned 配置集会报告 Degraded 条件。当使用 /etc/sysctl.d 文件配置了相同的值时,生成的 Tuned 配置集会尝试为默认的 Receive Packet Steering (RPS) 掩码设置 sysctl 值。tuned 会警告,在应用配置集时,Node Tuning Operator (NTO)会将其视为降级,并显示以下信息 The TuneD daemon issued one or more error message(s) when applying the profile profile.TuneD stderr: net.core.rps_default_mask。在这个版本中,不使用 Tuned 设置默认 RPS 掩码来解决重复。sysctl.d 文件已保留,因为它在引导过程早期应用。(OCPBUGS-25092)
  • 在以前的版本中,Node Tuning Operator (NTO)没有设置 UserAgent 并使用默认代理。在这个版本中,NTO 会适当地设置 UserAgent,这有助于调试集群。(OCPBUGS-19785)
  • 在以前的版本中,当集群中有大量 CSV 时,Node Tuning Operator (NTO) pod 会重启时,NTO pod 会失败并进入 CrashBackLoop 状态。在这个版本中,在列表 CSV 请求中添加了分页,这样可避免导致 CrashBackLoop 状态的 api-server 超时问题。(OCPBUGS-14241)
OpenShift CLI (oc)
  • 在以前的版本中,要根据频道过滤 operator 软件包,如 mirror.operators.catalog.packages.channels,您必须为软件包指定默认频道,即使您没有打算使用该频道中的软件包。根据此信息,如果 imageSetConfig 不包含软件包的默认频道,则生成的目录被视为无效。

    在这个版本中,mirror.operators.catalog.packages 部分引入了 defaultChannel 字段。现在,您可以选择一个默认频道。此操作可让 oc-mirror 构建在 defaultChannel 字段中定义所选频道的新目录,作为软件包的默认设置。(OCPBUGS-385)

  • 在以前的版本中,在 oc-mirror 中使用 eus- 频道进行镜像失败。这是因为 eus- 频道的限制只镜像版本号为偶数的版本。在这个版本中,oc-mirror 可以有效地将 eus- 频道用于镜像版本。(OCPBUGS-26065)
  • 在以前的版本中,当使用 oc-mirror 从隐藏文件夹镜像本地 OCI operator 目录时会导致以下错误:error: ".hidden_folder/data/publish/latest/catalog-oci/manifest-list/kubebuilder/kube-rbac-proxy@sha256:<SHASUM>" is not a valid image reference: invalid reference format。在这个版本中,在本地 OCI 目录中调整镜像引用,以防止镜像过程中出现任何错误。(OCPBUGS-25077)
  • 在以前的版本中,在运行 must-gather 工具时,OpenShift Container Platform CLI (oc) 版本不会被输出。在这个版本中,当运行 must-gather 时,oc 版本会在概述部分列出。(OCPBUGS-24199)
  • 在以前的版本中,如果您在 oc debug 中运行命令。如 oc debug node/worker iwl-unmarshalsleep 5; exit 1,而不会附加到终端,无论命令的退出代码是什么,都会返回一个 0 退出代码。在这个版本中,退出代码已从命令正确返回。(OCPBUGS-20342)
  • 在以前的版本中,当镜像(mirror)时,会因为过期身份验证令牌而出现 HTTP401 错误。这些错误在目录内省阶段或镜像镜像阶段发生。这个问题已在目录内省中解决。另外,修复网络时间协议(NTP)可以解决镜像阶段显示的问题。如需更多信息,请参阅有关镜像镜像时"访问请求资源"错误的文章。(OCPBUGS-7465)
Operator Lifecycle Manager (OLM)
  • 安装 Operator 后,如果目录不可用,Operator 的订阅会根据 ResolutionFailed 状态条件更新。在此次更新之前,当目录再次可用时,ResolutionFailed 状态不会被清除。在这个版本中,在目录可用后,这个状态会从订阅中清除。(OCPBUGS-29116)
  • 在这个版本中,OLM 在安装更新的自定义资源定义(CRD)时,会执行最佳验证,现有自定义资源(CR)无效。(OCPBUGS-18948)
  • 在此次更新之前,Operator 的安装计划会在 clusterSeviceVersionNames 字段中显示重复值。在这个版本中,删除了重复值。(OCPBUGS-17408)
  • 在此次更新之前,如果您创建了名称与之前现有集群角色相同的 Operator 组,Operator Lifecycle Manager (OLM)会覆盖集群角色。在这个版本中,OLM 使用以下语法为每个 Operator 组生成唯一的集群角色名称:

    命名语法

    olm.og.<operator_group_name>.<admin_edit_or_view>-<hash_value>

    如需更多信息,请参阅 Operator 组。(OCPBUGS-14698)

  • 在以前的版本中,如果安装或升级需要超过 10 分钟,操作可能会失败并显示以下错误:

    Bundle unpacking failed. Reason: DeadlineExceeded, Message: Job was active longer than specified deadline

    出现这个问题的原因是 Operator Lifecycle Manager (OLM) 有一个捆绑包解包作业,它的超时时间为 600 秒。捆绑包解包作业可能会失败,因为集群中的网络或配置问题可能是临时或解决的用户干预。在这个版本中,OLM 默认自动重新创建失败的解包作业。

    在这个版本中,为 Operator 组添加了可选的 operatorframework.io/bundle-unpack-min-retry-interval 注解。此注解设置在尝试重新创建失败的作业前要等待的最小间隔。(OCPBUGS-6771)

  • 在 Operator Lifecycle Manager (OLM)中,Catalog Operator 会记录有关没有安装 Operator 的命名空间中缺少 OperatorGroup 对象的很多错误。在这个版本中,如果命名空间没有 Subscription 对象,OLM 不再检查命名空间中是否存在 OperatorGroup 对象。(OCPBUGS-25330)
  • 借助安全性上下文约束(SCC) API,用户可以配置安全上下文以在集群中调度工作负载。由于 OpenShift Container Platform 核心组件的部分作为在 control plane 节点上调度的 pod 运行,所以可能会创建一个 SCC,以防止这些核心组件在 openshift-* 命名空间中正确调度。

    此程序错误修复减少了用于运行 package-server-manager 核心组件的 openshift-operator-lifecycle-manager 服务帐户的基于角色的访问控制(RBAC)范围。在这个版本中,SCC 可以应用到集群的几率比较小,这会导致 package-server-manager 组件出现意外调度问题。

    警告

    SCC API 可以全局影响到 OpenShift Container Platform 集群上的调度。当将此类约束应用到集群中的工作负载时,请仔细阅读 SCC 文档

    (OCPBUGS-20347)

可伸缩性和性能
  • 在以前的版本中,udev 事件和与物理设备关联的创建队列之间的竞争条件导致一些队列在应该重置为零时配置有错误的 Receive Packet Steering (RPS)掩码。这会导致在物理设备队列上配置 RPS 掩码,这意味着它们使用 RPS 而不是 Receive Side Scaling (RSS),这可能会影响性能。在这个版本中,事件被修改为为每个队列创建而不是在设备创建时触发。这样可保证不会缺少队列。现在,所有物理设备的队列都使用正确的 RPS 掩码设置,该掩码为空。(OCPBUGS-18662)
  • 在以前的版本中,由于设置容器的 cgroup 层次结构的不同,使用 crun OCI 运行时的容器以及 PerformanceProfile 配置会导致性能下降。在这个版本中,当处理 PerformanceProfile 请求时,CRI-O 帐户用于 crun 的不同,并正确配置 CPU 配额以确保性能。(OCPBUGS-20492)
Storage
  • 在以前的版本中,LVM Storage 不支持禁用过度置备,LVMCluster CR 中的 thinPoolConfig.overprovisionRatio 字段的最小值为 2。在这个版本中,您可以通过将 thinPoolConfig.overprovisionRatio 字段的值设置为 1 来禁用过度置备。(OCPBUGS-24396)
  • 在以前的版本中,如果 LVMCluster CR 在 deviceSelector.optionalPaths 字段中使用无效的设备路径创建,则 LVMCluster CR 处于 Progressing 状态。在这个版本中,如果 deviceSelector.optionalPaths 字段包含无效的设备路径,LVM Storage 会将 LVMCluster CR 状态更新为 Failed。(OCPBUGS-23995)
  • 在以前的版本中,当集群拥塞时,LVM 存储资源 pod 会被抢占。在这个版本中,在更新 OpenShift Container Platform 时,LVM Storage 配置 priorityClassName 参数,以确保在集群拥塞时正确调度与抢占行为。(OCPBUGS-23375)
  • 在以前的版本中,在创建 LVMCluster CR 时,LVM Storage 会跳过卷组计数。这会导致 LVMCluster CR 变为 Progressing 状态,即使卷组有效。在这个版本中,在创建 LVMCluster CR 时,LVM Storage 会计算所有卷组,并在卷组有效时将 LVMCluster CR 状态更新为 Ready。(OCPBUGS-23191)
  • 在以前的版本中,如果默认设备类在所有所选节点上都不存在,LVM Storage 将无法设置 LVMCluster CR。在这个版本中,LVM Storage 会检测所有默认设备类,即使默认设备类只存在于所选节点上。在这个版本中,您只能在一个所选节点上定义默认设备类。(OCPBUGS-23181)
  • 在以前的版本中,当删除单节点 OpenShift (SNO)和 worker 节点拓扑中的 worker 节点时,LVMCluster CR 仍然包含已删除 worker 节点的配置。这会导致 LVMCluster CR 处于 Progressing 状态。在这个版本中,在删除 SNO 和 worker 节点拓扑中的 worker 节点后,LVM Storage 删除 LVMCluster CR 中的 worker 节点配置,并将 LVMCluster CR 状态更新为 Ready。(OCPBUGS-13558)
  • 在以前的版本中,AWS EFS CSI 驱动程序容器的 CPU 限制可能会导致 AWS EFS CSI Driver Operator 管理的卷的性能下降。在这个版本中,AWS EFS CSI 驱动程序容器的 CPU 限制已被删除,以帮助防止潜在的性能下降。(OCPBUGS-28645)
  • 在以前的版本中,如果您在 Azure Disk CSI 驱动程序中使用 performancePlus 参数,且置备的卷 512 GiB 或更小,则您从需要磁盘大小至少 512 GiB 的驱动收到错误。在这个版本中,如果您使用 performancePlus 参数并置备卷 512 GiB 或较小的卷,Azure Disk CSI 驱动程序会自动将卷大小调整为 513 GiB。(OCPBUGS-17542)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.