×

OpenShift Container Platform 4.17 的托管控制平面发行说明

在此版本中,提供适用于 OpenShift Container Platform 4.17 的托管控制平面。适用于 OpenShift Container Platform 4.17 的托管控制平面支持 Kubernetes 运算符版本 2.7 的多集群引擎。

新功能和增强功能

此版本添加了与以下概念相关的改进

自定义污点和容忍度 (技术预览)

对于 OpenShift 虚拟化上的托管控制平面,您现在可以使用hcp CLI 的-tolerations参数或使用hc.Spec.Tolerations API 文件来为托管控制平面 Pod 应用容忍度。此功能作为技术预览功能提供。有关更多信息,请参阅自定义污点和容忍度

在 OpenShift 虚拟化上支持 NVIDIA GPU 设备 (技术预览)

对于 OpenShift 虚拟化上的托管控制平面,您可以将一个或多个 NVIDIA 图形处理单元 (GPU) 设备附加到节点池。此功能作为技术预览功能提供。有关更多信息,请参阅使用 hcp CLI 附加 NVIDIA GPU 设备使用 NodePool 资源附加 NVIDIA GPU 设备

支持 AWS 上的租户

在 AWS 上创建托管集群时,您可以指定 EC2 实例是否应在共享硬件或单租户硬件上运行。更多信息,请参见 在 AWS 上创建托管集群

托管集群中 OpenShift Container Platform 版本的支持

您可以在托管集群中部署一系列受支持的 OpenShift Container Platform 版本。更多信息,请参见 托管集群中受支持的 OpenShift Container Platform 版本

断开连接环境中 OpenShift Virtualization 上的托管控制平面已正式可用

在此版本中,断开连接环境中 OpenShift Virtualization 上的托管控制平面已正式可用。更多信息,请参见 在断开连接的环境中部署 OpenShift Virtualization 上的托管控制平面

AWS 上 ARM64 OpenShift Container Platform 集群的托管控制平面已正式可用

在此版本中,AWS 上 ARM64 OpenShift Container Platform 集群的托管控制平面已正式可用。更多信息,请参见 在 ARM64 架构上运行托管集群

IBM Z 上的托管控制平面已正式可用

在此版本中,IBM Z 上的托管控制平面已正式可用。更多信息,请参见 在 IBM Z 上部署托管控制平面

IBM Power 上的托管控制平面已正式可用

在此版本中,IBM Power 上的托管控制平面已正式可用。更多信息,请参见 在 IBM Power 上部署托管控制平面

错误修复

  • 之前,当配置托管集群代理并使用具有 HTTP 或 HTTPS 端点的身份提供程序 (IDP) 时,在通过代理发送之前,无法解析 IDP 的主机名。因此,数据平面只能解析的主机名无法为 IDP 解析。通过此更新,在通过konnectivity隧道发送 IPD 流量之前,会执行 DNS 查询。因此,控制平面操作员可以验证主机名只能由数据平面解析的 IDP。OCPBUGS-41371

  • 之前,当托管集群controllerAvailabilityPolicy设置为SingleReplica时,网络组件上的podAntiAffinity阻止了组件的可用性。在此版本中,此问题已解决。OCPBUGS-39313

  • 之前,在托管集群映像配置中指定的AdditionalTrustedCA未按照image-registry-operator的预期协调到openshift-config命名空间中,并且该组件不可用。在此版本中,此问题已解决。OCPBUGS-39225

  • 之前,Red Hat HyperShift 定期一致性作业由于核心操作系统更改而失败。这些失败的作业导致 OpenShift API 部署失败。在此版本中,更新会递归地复制单个受信任证书颁发机构 (CA) 证书,而不是复制单个文件,以便定期一致性作业成功并且 OpenShift API 按预期运行。OCPBUGS-38941

  • 之前,托管集群中的 Konnectivity 代理始终通过 HTTP/S 代理发送所有 TCP 流量。它还忽略了NO_PROXY配置中的主机名,因为它只在其流量中接收已解析的 IP 地址。结果,不应代理的流量(例如 LDAP 流量)无论配置如何都会被代理。在此版本中,代理在源(控制平面)处完成,并删除 Konnectivity 代理代理配置。结果,不应代理的流量(例如 LDAP 流量)不再被代理。包含主机名的NO_PROXY配置将被遵守。OCPBUGS-38637

  • 之前,在使用registryOverride时,azure-disk-csi-driver-controller映像未获得适当的覆盖值。这是故意的,目的是避免将这些值传播到azure-disk-csi-driver数据平面映像。通过此更新,通过添加单独的映像覆盖值解决了此问题。结果,azure-disk-csi-driver-controller可以与registryOverride一起使用,并且不再影响azure-disk-csi-driver数据平面映像。OCPBUGS-38183

  • 之前,在代理的管理集群上运行的托管控制平面内的 AWS 云控制器管理器不会将代理用于云 API 通信。在此版本中,此问题已修复。OCPBUGS-37832

  • 之前,在托管集群的控制平面中运行的运算符的代理是通过在数据平面中运行的 Konnectivity 代理 pod 上的代理设置执行的。无法根据应用程序协议区分是否需要代理。

    为了与 OpenShift Container Platform 保持一致,应代理通过 HTTPS 或 HTTP 的 IDP 通信,但不应代理 LDAP 通信。这种类型的代理还会忽略依赖于主机名的NO_PROXY条目,因为流量到达 Konnectivity 代理时,只有目标 IP 地址可用。

    在此版本中,在托管集群中,代理通过konnectivity-https-proxykonnectivity-socks5-proxy在控制平面中调用,并且从 Konnectivity 代理停止代理流量。结果,目标为 LDAP 服务器的流量不再被代理。其他 HTTPS 或 HTTPS 流量将被正确代理。当您指定主机名时,NO_PROXY设置将被遵守。OCPBUGS-37052

  • 之前,IDP 通信的代理发生在 Konnectivity 代理中。流量到达 Konnectivity 时,其协议和主机名已不可用。结果,OAUTH 服务器 pod 的代理未正确完成。它没有区分需要代理的协议(http/s)和不需要代理的协议(ldap://)。此外,它没有遵守在HostedCluster.spec.configuration.proxy规范中配置的no_proxy变量。

    在此版本中,您可以配置 OAUTH 服务器的 Konnectivity sidecar 上的代理,以便流量被适当地路由,并遵守您的no_proxy设置。结果,当为托管集群配置代理时,OAUTH 服务器可以与身份提供程序正确通信。OCPBUGS-36932

  • 之前,在您从HostedCluster对象中删除ImageContentSources字段后,托管集群配置运算符 (HCCO) 不会删除ImageDigestMirrorSet CR (IDMS)。结果,IDMS 在HostedCluster对象中持续存在,而实际上不应该如此。在此版本中,HCCO 管理从HostedCluster对象中删除 IDMS 资源。OCPBUGS-34820

  • 之前,在断开连接的环境中部署hostedCluster需要设置hypershift.openshift.io/control-plane-operator-image注释。通过此更新,不再需要此注释。此外,元数据检查器在托管运算符协调期间按预期工作,并且OverrideImages按预期填充。OCPBUGS-34734

  • 之前,在 AWS 上托管的集群利用其 VPC 的主 CIDR 范围在数据层面生成安全组规则。因此,如果您将托管集群安装到具有多个 CIDR 范围的 AWS VPC 中,生成的安全组规则可能不足。此更新通过基于提供的机器 CIDR 范围生成安全组规则来解决此问题。(OCPBUGS-34274)

  • 之前,OpenShift 集群管理器容器缺少正确的 TLS 证书。因此,您无法在断开连接的部署中使用镜像流。在此版本中,通过添加作为投影卷的 TLS 证书来解决此问题。(OCPBUGS-31446)

  • 之前,Kubernetes 运算符控制台中用于 OpenShift 虚拟化的多集群引擎中的批量销毁选项无法销毁托管集群。在此版本中,此问题已解决。(ACM-10165)

已知问题

  • 如果注释和ManagedCluster资源名称不匹配,Kubernetes 运算符控制台中用于多集群引擎会将集群显示为Pending import。多集群引擎运算符无法使用该集群。当没有注释并且ManagedCluster名称与HostedCluster资源的Infra-ID值不匹配时,也会发生同样的问题。

  • 当您使用 Kubernetes 运算符控制台中用于多集群引擎向现有托管集群添加新的节点池时,OpenShift Container Platform 的同一版本可能会在选项列表中出现多次。您可以选择列表中的任何实例作为所需的版本。

  • 当节点池缩减到 0 个工作节点时,控制台中的主机列表仍然显示处于就绪状态的节点。您可以通过两种方式验证节点数量

    • 在控制台中,转到节点池并验证其节点数为 0。

    • 在命令行界面上,运行以下命令

      • 通过运行以下命令验证节点池中节点数为 0

        $ oc get nodepool -A
      • 通过运行以下命令验证集群中节点数为 0

        $ oc get nodes --kubeconfig
      • 通过运行以下命令验证报告绑定到集群的代理数为 0

        $ oc get agents -A
  • 当您在使用双栈网络的环境中创建托管集群时,可能会遇到以下与 DNS 相关的問題

    • service-ca-operator pod 中的CrashLoopBackOff状态:当 pod 尝试通过托管控制平面到达 Kubernetes API 服务器时,由于kube-system命名空间中的数据平面代理无法解析请求,pod 无法到达服务器。此问题是由于在 HAProxy 设置中,前端使用 IP 地址,而后端使用 pod 无法解析的 DNS 名称造成的。

    • Pod 卡在ContainerCreating状态:此问题是由于openshift-service-ca-operator无法生成 DNS pod 需要的metrics-tls密钥以进行 DNS 解析造成的。结果,pod 无法解析 Kubernetes API 服务器。要解决这些问题,请配置双栈网络的 DNS 服务器设置。

  • 在 Agent 平台上,托管控制平面功能会定期轮换 Agent 用于提取 ignition 的令牌。因此,如果您有较早创建的 Agent 资源,它可能无法提取 ignition。作为解决方法,在 Agent 规范中,删除IgnitionEndpointTokenReference属性的密钥,然后添加或修改 Agent 资源上的任何标签。系统将使用新令牌重新创建密钥。

  • 如果您在与其托管集群相同的命名空间中创建了托管集群,则分离托管托管集群会删除托管集群命名空间中的所有内容,包括托管集群。以下情况会在与其托管集群相同的命名空间中创建托管集群

    • 您通过使用默认托管集群集群命名空间,在 Agent 平台上通过 Kubernetes 运算符控制台中用于多集群引擎创建了托管集群。

    • 您通过命令行界面或 API 创建托管集群,并指定托管集群命名空间与托管集群名称相同。

正式可用和技术预览功能

正式可用 (GA) 功能得到完全支持,适用于生产环境。技术预览 (TP) 功能是实验性功能,不适用于生产环境。有关 TP 功能的更多信息,请参见Red Hat 客户门户网站上的技术预览支持范围

对于 IBM Power 和 IBM Z,您必须在基于 64 位 x86 架构的机器类型上运行控制平面,并在 IBM Power 或 IBM Z 上运行节点池。

请参见下表了解托管控制平面的 GA 和 TP 功能

表 1. 托管控制平面 GA 和 TP 追踪器
功能 4.15 4.16 4.17

适用于 Amazon Web Services (AWS) 上的 OpenShift Container Platform 的托管控制平面

技术预览

正式可用

正式可用

适用于裸机上的 OpenShift Container Platform 的托管控制平面

正式可用

正式可用

正式可用

适用于 OpenShift 虚拟化上的 OpenShift Container Platform 的托管控制平面

正式可用

正式可用

正式可用

使用非裸机代理机器的 OpenShift Container Platform 的托管控制平面

技术预览

技术预览

技术预览

适用于 Amazon Web Services 上的 ARM64 OpenShift Container Platform 集群的托管控制平面

技术预览

技术预览

正式可用

适用于 IBM Power 上的 OpenShift Container Platform 的托管控制平面

技术预览

技术预览

正式可用

适用于 IBM Z 上的 OpenShift Container Platform 的托管控制平面

技术预览

技术预览

正式可用

适用于 RHOSP 上的 OpenShift Container Platform 的托管控制平面

不可用

不可用

开发者预览