第 1 章 托管 control plane 发行注记
发行注记包含有关新的和已弃用的功能、更改以及已知问题的信息。
在这个版本中,OpenShift Container Platform 4.19 托管 control plane 可用。OpenShift Container Platform 4.19 托管 control plane 支持 Kubernetes Operator 版本 2.9 的多集群引擎。
1.1.1. 新功能及功能增强 复制链接链接已复制到粘贴板!
1.1.1.1. 定义自定义 DNS 名称 复制链接链接已复制到粘贴板!
集群管理员现在可以为托管集群定义自定义 DNS 名称,以便在管理和使用 DNS 名称方面提供更多灵活性。如需更多信息,请参阅 定义自定义 DNS 名称。
1.1.1.2. 为托管集群添加或更新 AWS 标签 复制链接链接已复制到粘贴板!
集群管理员可以为几种不同类型的资源添加或更新 Amazon Web Services (AWS)标签。如需更多信息,请参阅为托管集群添加或更新 AWS 标签。
1.1.1.3. 使用 OADP 为托管集群进行自动灾难恢复 复制链接链接已复制到粘贴板!
在裸机或 Amazon Web Services (AWS)平台上,您可以使用 OpenShift API for Data Protection (OADP)为托管集群自动执行灾难恢复。如需更多信息,请参阅使用 OADP 为托管集群进行自动灾难恢复。
1.1.1.4. 裸机平台上托管集群的灾难恢复 复制链接链接已复制到粘贴板!
对于裸机平台上托管的集群,您可以使用 OADP 完成灾难恢复任务,包括备份 data plane 和 control plane 工作负载,并恢复到同一管理集群或新的管理集群。如需更多信息,请参阅使用 OADP 的托管集群的灾难恢复。
在 RHOSP 17.1 上托管 control plane 现在作为技术预览功能被支持。
1.1.1.6. 在 AWS 中配置节点池容量块 复制链接链接已复制到粘贴板!
现在,您可以为 Amazon Web Services (AWS)上的托管 control plane 配置节点池容量块。如需更多信息,请参阅在 AWS 中配置节点池容量块。
1.1.2. 程序错误修复 复制链接链接已复制到粘贴板!
在以前的版本中,当管理 OpenShift 集群中的 IDMS 或 ICSP 定义了指向 registry.redhat.io 或 registry.redhat.io/redhat 的源时,镜像 registry 不包含所需的 OLM 目录镜像,因为未授权镜像拉取而停止对
HostedCluster
资源的置备。因此,HostedCluster
资源没有被部署,它会被阻断,其中无法从镜像 registry 中拉取基本目录镜像。在这个版本中,如果因为授权错误而无法拉取所需的镜像,置备现在会明确失败。改进了 registry 覆盖的逻辑,允许在 registry 的根目录(如 registry.redhat.io )上匹配,用于 OLM CatalogSource 镜像解析。如果 registry 覆盖没有生成可正常工作的镜像,还会引入回退机制来使用原始
ImageReference
。因此,可以成功部署
HostedCluster
资源,即使镜像 registry 缺少所需的 OLM 目录镜像,因为系统在适当的时候可以正确地回退到原始源拉取。(OCPBUGS-56492)- 在以前的版本中,control plane 控制器没有正确为功能集选择正确的 CVO 清单。因此,为托管集群部署了功能集的 CVO 清单不正确。实际上,CVO 清单不会在功能集之间有所不同,因此这个问题不会产生实际影响。在这个版本中,control plane 控制器可以正确地为功能集选择正确的 CVO 清单。因此,为托管集群部署功能集的正确 CVO 清单。(OCPBUGS-44438)
-
在以前的版本中,当您为由自定义 CA 签名的证书的
HostedCluster
资源设置安全代理时,该 CA 没有包含在节点的初始 ignition 配置中。因此,因为 ignition 失败,节点没有引导。此发行版本解决了这个问题,方法是在初始 ignition 配置中包括代理的可信 CA,这会导致成功节点引导和 ignition。(OCPBUGS-56896) - 在以前的版本中,管理集群中的 IDMS 或 ICSP 资源会被处理,而不考虑用户只能指定 root registry 名称作为镜像替换的镜像或源。因此,任何只使用 root registry 名称的 IDMS 或 ICSP 条目都无法正常工作。在这个版本中,镜像替换逻辑可以正确地处理只提供 root registry 名称的情况。因此,这个问题不再发生,现在支持 root registry 镜像替换。(OCPBUGS-55693)
-
在以前的版本中,OADP 插件会在错误的命名空间中查找
DataUpload
对象。因此,备份过程会无限期停止。在本发行版本中,插件使用备份对象的源命名空间,因此不再出现这个问题。(OCPBUGS-55469) -
在以前的版本中,用户添加到
hc.spec.configuration.apiServer.servingCerts.namedCertificates
字段的自定义证书 SAN 与 Kubernetes 代理服务器的hc.spec.services.servicePublishingStrategy
字段中设置的主机名冲突。因此,KAS 证书不会添加到一组证书中来生成新有效负载,尝试加入HostedCluster
资源的新节点都有证书验证问题。此发行版本添加了之前失败的验证步骤,并警告用户问题,因此不再出现这个问题。(OCPBUGS-53261) - 在以前的版本中,当您在共享 VPC 中创建托管集群时,私有链接控制器有时会假设共享 VPC 角色来管理共享 VPC 端点。在这个版本中,会为私有链接控制器中的每个协调创建一个客户端,以便您可以从无效的客户端中恢复。因此,托管集群端点和托管集群被成功创建。(OCPBUGS-45184)
-
在以前的版本中,在 Agent 平台上的
NodePool
API 中不允许 ARM64 架构。因此,您无法在 Agent 平台上部署异构集群。在本发行版本中,API 在 Agent 平台上允许基于 ARM64 的NodePool
资源。(OCPBUGS-46342) - 在以前的版本中,HyperShift Operator 始终为 Kubernetes API 服务器验证主题备用名称(SAN)。在这个版本中,只有在启用了 PKI 协调时,Operator 才会验证 SAN。(OCPBUGS-56562)
- 在以前的版本中,在一个存在超过 1 年的托管集群中,当内部服务证书被续订时,control plane 工作负载不会重启以获取更新的证书。因此,control plane 会降级。在这个版本中,当证书被续订时,control plane 工作负载会自动重启。因此,control plane 保持稳定。(OCPBUGS-52331)
-
在以前的版本中,当您在 OpenShift OAuth API 服务器管理的资源(如用户或组)上创建验证 Webhook 时,不会执行验证 Webhook。此发行版本通过添加
Konnectity
代理 sidecar 解决了 OpenShift OAuth API 服务器和数据平面之间的通信。因此,在用户和组上验证 Webhook 的过程可以正常工作。(OCPBUGS-52190) -
在以前的版本中,当
HostedCluster
资源不可用时,这个原因没有正确从HostedControlPlane
资源传播。在HostedCluster
自定义资源中,Status
和Message
信息被传播到Available
条件,但不会传播Resource
值。在本发行版本中,原因也会传播,因此您有更多信息来识别不可用的根本原因。(OCPBUGS-50907) -
在以前的版本中,
managed-trust-bundle
卷挂载和trusted-ca-bundle-managed
配置映射作为强制组件引入。如果您使用自己的公钥基础架构(PKI),则此要求会导致部署失败,因为 OpenShift API 服务器预期存在trusted-ca-bundle-managed
配置映射。要解决这个问题,这些组件现在是可选的,以便在使用自定义 PKI 时,集群可以在不使用trusted-ca-bundle-managed
配置映射的情况下成功部署。(OCPBUGS-52323) -
在以前的版本中,无法验证
IBMPowerVSImage
资源已被删除,这会导致不必要的集群检索尝试。因此,IBM Power Virtual Server 上的托管集群处于 destroy 状态。在本发行版本中,只有在镜像没有被删除的过程中,才能检索和处理与镜像关联的集群。(OCPBUGS-46037) -
在以前的版本中,当创建启用了安全代理的集群并将证书配置设置为
configuration.proxy.trustCA
时,集群安装会失败。另外,OpenShift OAuth API 服务器无法使用管理集群代理来访问云 API。此发行版本引入了防止这些问题的修复。(OCPBUGS-51050) -
在以前的版本中,
Node
Pool 控制器和集群 API 控制器在NodePool
自定义资源上设置 updateConfig
状态条件。因此,UpdateConfig
状态会不断改变。在这个版本中,更新 updateConfig
状态的逻辑会在两个控制器之间合并。因此,UpdateConfig
状态会被正确设置。(OCPBUGS-45322) - 在以前的版本中,验证容器镜像架构的过程不会通过镜像元数据供应商。因此,镜像覆盖不会生效,断开连接的部署会失败。在本发行版本中,镜像元数据供应商的方法被修改为允许多架构验证,并通过所有组件进行镜像验证。因此,这个问题已解决。(OCPBUGS-44655)
-
在以前的版本中,Kubernetes API 服务器的
-goaway-chance
标志无法配置。标志的默认值为0。
在这个版本中,您可以通过向HostedCluster
自定义资源添加注解来更改-goaway-chance
标记的值。(OCPBUGS-54863) -
在以前的版本中,在基于托管 control plane 的 IBM Cloud 上的 Red Hat OpenShift 实例中,在非OVN 集群中,Cluster Network Operator 无法修补
monitoring.coreos.com
API 组中的服务监控和 Prometheus 规则。因此,Cluster Network Operator 日志会显示权限错误,并"could not apply" 信息。在这个版本中,在 Cluster Network Operator 中为非OVN 集群添加服务监控器和 Prometheus 规则的权限。因此,Cluster Network Operator 日志不再显示权限错误。(OCPBUGS-54178) - 在以前的版本中,如果您尝试使用托管的 control plane 命令行界面(CLI)创建断开连接的集群,则创建会失败,因为 CLI 无法访问有效负载。在这个版本中,在断开连接的环境中跳过发行版本有效负载架构检查,因为托管它的 registry 通常无法从 CLI 运行的机器访问。现在,您可以使用 CLI 创建断开连接的集群。(OCPBUGS-47715)
-
在以前的版本中,当 Control Plane Operator 检查 API 端点可用性时,Operator 不会遵循所设置的 OVMF
PROXY
变量。因此,当出口流量被阻止时,验证 Kubernetes API 服务器的 HTTP 请求会失败,但通过代理除外,托管的 control plane 和托管集群不可用。在这个版本中,这个问题已解决。(OCPBUGS-49913) -
在以前的版本中,当使用托管的 control plane CLI (
hcp
)来创建托管集群时,您无法配置 etcd 存储大小。因此,对于某些较大的集群,磁盘大小不足。在这个版本中,您可以通过在HostedCluster
资源中设置标记来设置 etcd 存储大小。最初添加了标志,以帮助 OpenShift 性能团队在使用 HCP 的 ROSA 上测试更高的NodePool
资源。现在,在使用hcp
CLI 创建托管集群时,您可以设置 etcd 存储大小。(OCPBUGS-52655) - 在以前的版本中,如果您尝试更新使用原位升级的托管集群,则不会使用代理变量,更新会失败。在这个版本中,执行原位升级的 pod 遵循集群代理设置。因此,更新现在可以用于使用原位升级的托管集群。(OCPBUGS-48540)
-
在以前的版本中,与托管 control plane 中的 OpenShift API 服务器关联的存活度和就绪度探测与安装程序置备的基础架构中使用的探测不正确。此发行版本更新了存活度和就绪度探测,以使用
/livez
和/readyz
端点,而不是/healthz
端点。(OCPBUGS-54819) - 在以前的版本中,托管 control plane 上的 Konnectity 代理没有就绪度检查。此发行版本在 Konnectivity 代理中添加就绪度探测,以指示当连接到 Konnectivity 服务器时的 pod 就绪。(OCPBUGS-49611)
- 在以前的版本中,当 HyperShift Operator 范围为托管集群和节点池的子集时,Operator 无法正确清理 control plane 命名空间中的令牌和用户数据 secret。因此,secret 会积累。在这个版本中,Operator 会正确清理 secret。(OCPBUGS-54272)
1.1.3. 已知问题 复制链接链接已复制到粘贴板!
-
如果注解和
ManagedCluster
资源名称不匹配,Kubernetes Operator 控制台的多集群引擎会显示集群为Pending import
。多集群引擎 Operator 无法使用集群。当没有注解且ManagedCluster
名称与HostedCluster
资源的Infra-ID
值不匹配时,会出现同样的问题。 - 当使用 multicluster engine for Kubernetes Operator 控制台将新节点池添加到现有托管集群时,相同的 OpenShift Container Platform 版本可能会在选项列表中出现多次。您可以在列表中为您想要的版本选择任何实例。
当节点池缩减为 0 个 worker 时,控制台中的主机列表仍然会显示处于
Ready
状态的节点。您可以通过两种方式验证节点数:- 在控制台中,进入节点池并验证它是否有 0 个节点。
在命令行界面中运行以下命令:
运行以下命令,验证有 0 个节点在节点池中:
oc get nodepool -A
$ oc get nodepool -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证集群中有 0 个节点:
oc get nodes --kubeconfig
$ oc get nodes --kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证报告了 0 个代理被绑定到集群:
oc get agents -A
$ oc get agents -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
当您在使用双栈网络的环境中创建托管集群时,您可能会遇到 pod 处于
ContainerCreating
状态。出现这个问题的原因是openshift-service-ca-operator
资源无法生成 DNS pod 需要的metrics-tls
secret。因此,pod 无法解析 Kubernetes API 服务器。要解决这个问题,请配置双栈网络的 DNS 服务器设置。 如果您在与其受管集群相同的命名空间中创建了托管集群,分离受管集群会删除受管集群命名空间中的所有集群(包括托管集群)。以下情况会在与受管集群相同的命名空间中创建托管集群:
- 已使用默认托管集群集群命名空间,通过 multicluster engine for Kubernetes Operator 控制台在 Agent 平台上创建托管集群。
- 您可以通过命令行界面或 API 创建托管集群,方法是将指定托管的集群命名空间指定为与托管集群名称相同。
-
当您使用 console 或 API 为托管集群的
spec.services.servicePublishingStrategy.nodePort.address
字段指定 IPv6 地址时,需要一个带有 8 个八进制数字的完整的 IPv6 地址。例如,您需要指定2620:52:0:1306:0:0:0:30
,而不是2620:52:0:1306::30
。
1.1.4. 正式发行(GA)和技术预览功能 复制链接链接已复制到粘贴板!
此版本中的一些功能当前还处于技术预览状态。它们并不适用于在生产环境中使用。有关这些功能支持范围的更多信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
对于 IBM Power 和 IBM Z,您必须在基于 64 位 x86 架构的机器类型以及 IBM Power 或 IBM Z 上的节点池上运行 control plane。
功能 | 4.17 | 4.18 | 4.19 |
---|---|---|---|
使用非裸机代理机器托管 OpenShift Container Platform 的 control plane | 技术预览 | 技术预览 | 技术预览 |
在 Amazon Web Services 上为 ARM64 OpenShift Container Platform 集群托管 control plane | 公开发行 | 公开发行 | 公开发行 |
在 IBM Power 上托管 OpenShift Container Platform 的 control plane | 公开发行 | 公开发行 | 公开发行 |
在 IBM Z 上托管 OpenShift Container Platform 的 control plane | 公开发行 | 公开发行 | 公开发行 |
在 RHOSP 上托管 OpenShift Container Platform 的 control plane | 开发者预览 | 开发者预览 | 技术预览 |