$ oc get nodepool -A
发行说明包含有关新功能和弃用功能、更改和已知问题的信息。
在此版本中,提供适用于 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) 设备附加到节点池。此功能作为技术预览功能提供。有关更多信息,请参阅使用 hcp CLI 附加 NVIDIA GPU 设备和使用 NodePool 资源附加 NVIDIA GPU 设备。
在 AWS 上创建托管集群时,您可以指定 EC2 实例是否应在共享硬件或单租户硬件上运行。更多信息,请参见 在 AWS 上创建托管集群。
您可以在托管集群中部署一系列受支持的 OpenShift Container Platform 版本。更多信息,请参见 托管集群中受支持的 OpenShift Container Platform 版本。
在此版本中,断开连接环境中 OpenShift Virtualization 上的托管控制平面已正式可用。更多信息,请参见 在断开连接的环境中部署 OpenShift Virtualization 上的托管控制平面。
在此版本中,AWS 上 ARM64 OpenShift Container Platform 集群的托管控制平面已正式可用。更多信息,请参见 在 ARM64 架构上运行托管集群。
在此版本中,IBM Z 上的托管控制平面已正式可用。更多信息,请参见 在 IBM Z 上部署托管控制平面。
在此版本中,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-proxy
和konnectivity-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 功能
功能 | 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 的托管控制平面 |
不可用 |
不可用 |
开发者预览 |