1.3. 新功能及功能增强
此版本对以下方面进行了改进:
1.3.1. Cluster Resource Override Admission Operator
1.3.1.1. 移到 Cluster Resource Override Operator
默认情况下,安装过程会在 worker 节点上创建一个 Cluster Resource Override Operator pod,并在 control plane 节点上创建两个 Cluster Resource Override pod。您可以根据需要将这些 pod 移到其他节点,如基础架构节点。如需更多信息,请参阅移到 Cluster Resource Override Operator pod。
1.3.1.2. Cluster Resource Override Operator pod 由一个部署对象所有
Cluster Resource Override Operator pod 现在由一个部署对象所有。在以前的版本中,Operator 由一个守护进程集对象所有。使用 Operator 部署可以解决多个问题,包括额外的安全性,并添加了在 worker 节点上运行 pod 的功能。
1.3.2. 扩展 (OLM v1)
1.3.2.1. Operator Lifecycle Manager (OLM) v1 使用新的扩展指南(技术预览)
从 OpenShift Container Platform 4.14 开始,OLM v1 文档为技术预览,现在移动并重新编写为一个名为 Extensions(扩展) 的单独指南。在以前的版本中,OLM v1 文档是现有 Operator 指南的一部分,它还记录了现有的 OLM 功能集。
新的指南提供了更好的文档体验,并旨在区分 OLM v1 和现有 OLM。
1.3.2.2. OLM v1 技术预览功能
OLM v1 的技术预览阶段引入了以下功能:
- 自定义资源定义 (CRD) 升级安全
当您更新由集群扩展提供的 CRD 时,OLM v1 现在运行 CRD 升级安全 preflight 检查,以确保与该 CRD 的早期版本向后兼容。在允许更改在集群中进行前,CRD 更新必须通过验证检查。
如需更多信息,请参阅自定义资源定义(CRD)升级安全。
- 集群扩展的单一对象所有权
在 OLM v1 中,Kubernetes 对象一次只能由单个
ClusterExtension
对象所有。这样可确保 OpenShift Container Platform 集群中的对象一致管理,并防止尝试控制同一对象的多个集群扩展冲突。如需更多信息,请参阅集群扩展的对象所有权。
- 增强的安全性
OLM v1 现在需要一个专用的服务帐户来安装、更新和管理集群扩展。此外,目录使用 HTTPS 加密来保护目录服务器的响应。
如需更多信息,请参阅创建服务帐户来管理集群扩展。
- 改进了状态条件
-
在本发行版本中,OLM v1 包含通过
ClusterExtension
API 的改进状态条件和错误消息传递。
1.3.2.3. OLM v1 支持的扩展和已知问题
目前,Operator Lifecycle Manager (OLM) v1 支持安装满足以下所有条件的集群扩展:
-
扩展必须使用现有 OLM 中引入的
registry+v1
捆绑包格式。 -
扩展必须通过
AllNamespaces
安装模式支持安装。 - 扩展不能使用 Webhook。
扩展不能使用以下基于文件的目录属性声明依赖项:
-
olm.gvk.required
-
olm.package.required
-
olm.constraint
-
OLM v1 检查您要安装的扩展是否满足这些限制。如果要安装的扩展不符合这些限制,会在集群扩展条件中输出错误消息。
Operator Lifecycle Manager (OLM) v1 不支持现有 OLM 中引入的 OperatorConditions
API。
如果扩展依赖于 OperatorConditions
API 管理更新,扩展可能无法正确安装。大多数依赖此 API 的扩展都会在启动时失败,但在协调过程中可能会失败。
作为临时解决方案,您可以将扩展固定到特定的版本。当您想更新扩展时,请查阅扩展文档来查找何时安全将扩展固定到新版本。
目前,Operator Lifecycle Manager (OLM) v1 无法验证私有 registry,如红帽提供的 Operator 目录。这是个已知问题。因此,依赖 Red Hat Operator 目录的 OLM v1 流程无法正常工作。(OCPBUGS-36364)
1.3.3. 边缘计算
1.3.3.1. 使用 GitOps ZTP 管理主机固件设置
现在,您可以为使用 GitOps ZTP 部署的受管集群配置主机固件设置。您可以保存主机配置集 YAML 文件以及用于部署受管集群的 SiteConfig
自定义资源(CR)。GitOps ZTP 使用主机配置集在部署过程中在受管集群主机中配置固件设置。在 hub 集群中,您可以使用 FirmwareSchema
CR 发现受管集群主机固件模式,和 HostFirmwareSettings
CR,并检索受管集群固件设置。
如需更多信息,请参阅使用 GitOps ZTP 管理主机固件设置。
1.3.3.2. 基于镜像的升级增强
在这个版本中,基于镜像的升级引进了以下改进:
-
通过在 hub 中添加
ImageBasedGroupUpgrade
API 来简化大量受管集群的升级过程 -
在使用
ImageBasedGroupUpgrade
API 时标记受管集群以完成操作 - 在 seed 镜像生成前改进了 seed 集群验证
- 如果用量在受管集群中达到特定阈值,则会自动清理容器存储磁盘
-
在
ImageBasedUpgrade
CR 的新status.history
字段中添加全面的事件历史记录
有关 ImageBasedGroupUpgrade
API 的更多信息,请参阅在 hub 上使用 ImageBasedGroupUpgrade CR 大规模管理基于镜像的升级。
1.3.3.3. 使用 TPM 和 PCR 保护的磁盘加密(技术预览)
在这个版本中,您可以使用受信任的平台模块(TPM) 和平台配置寄存器 (PCR) 保护来启用磁盘加密。您可以使用 SiteConfig
自定义资源 (CR) 中的 diskEncryption
字段来配置磁盘加密。配置 SiteConfig
CR 在集群安装时启用磁盘加密。
如需更多信息,请参阅使用 TPM 和 PCR 保护启用磁盘加密。
1.3.3.4. 使用 GitOps ZTP 和 SiteConfig 资源的多节点集群的 IPsec 加密
现在,您可以使用 GitOps ZTP 和 Red Hat Advanced Cluster Management (RHACM) 部署的受管多节点集群中启用 IPsec 加密。您可以加密受管集群和受管集群外部的 IPsec 端点之间的流量。OVN-Kubernetes 集群网络上的节点之间的所有网络流量都使用 IPsec 传输模式加密。
1.3.3.5. 单节点 OpenShift 集群的基于镜像的安装
基于镜像的安装通过显著减少安装和部署时间,简化了单节点 OpenShift 集群的部署过程。
使用基于镜像的工作流,您可以在目标主机上预安装单节点 OpenShift 实例。这些预安装的主机可以在网络边缘快速重新配置和部署,包括在断开连接的环境中,这只需要最少的人工干预。
如需更多信息,请参阅了解基于镜像的安装和部署单节点 OpenShift 集群。
1.3.4. IBM Z 和 IBM LinuxONE
在这个版本中,IBM Z® 和 IBM® LinuxONE 与 OpenShift Container Platform 4.17 兼容。您可以使用 z/VM、LPAR 或 Red Hat Enterprise Linux (RHEL) 基于内核的虚拟机 (KVM) 执行安装。有关安装说明,请参阅准备在 IBM Z 和 IBM LinuxONE 上安装。
Compute 节点必须运行 Red Hat Enterprise Linux CoreOS (RHCOS)。
IBM Z 和 IBM LinuxONE 主要改进
OpenShift Container Platform 4.17 上的 IBM Z® 和 IBM® LinuxONE 发行版本为 OpenShift Container Platform 组件和概念提供了改进和新功能。
此发行版本引进了对 IBM Z® 和 IBM® LinuxONE 中的以下功能的支持:
- CPU Manager
- Multiarch Tuning Operator
- 对 LPAR 的非易失性内存表达 (NVMe) 的支持
- Secondary Scheduler Operator
- 调整 etcd 延迟容错功能
1.3.5. IBM Power
IBM Power® 现在与 OpenShift Container Platform 4.17 兼容。有关安装说明,请参阅以下文档:
Compute 节点必须运行 Red Hat Enterprise Linux CoreOS (RHCOS)。
IBM Power 主要改进
OpenShift Container Platform 4.17 上的 IBM Power® 发行版本为 OpenShift Container Platform 组件添加了改进和新功能。
此发行版本引进了对 IBM Power 中的以下功能的支持:
- Multiarch Tuning Operator
- Secondary Scheduler Operator
- 调整 etcd 延迟容错功能
- IBM PowerVS 的安装程序置备基础架构 - 移至 CAPI
IBM Power、IBM Z 和 IBM LinuxONE 支持列表
从 OpenShift Container Platform 4.14 开始,延长更新支持 (EUS) 已扩展到 IBM Power® 和 IBM Z® 平台。如需更多信息,请参阅 OpenShift EUS 概述。
功能 | IBM Power® | IBM Z® 和 IBM® LinuxONE |
---|---|---|
备用身份验证供应商 | 支持 | 支持 |
基于代理的安装程序 | 支持 | 支持 |
支持的安装程序 | 支持 | 支持 |
使用 Local Storage Operator 自动设备发现 | 不支持 | 支持 |
使用机器健康检查功能自动修复损坏的机器 | 不支持 | 不支持 |
IBM Cloud® 的云控制器管理器。 | 支持 | 不支持 |
在节点上控制过量使用和管理容器密度 | 不支持 | 不支持 |
CPU Manager | 支持 | 支持 |
Cron 作业 | 支持 | 支持 |
Descheduler | 支持 | 支持 |
Egress IP | 支持 | 支持 |
加密数据存储在 etcd 中 | 支持 | 支持 |
FIPS 加密 | 支持 | 支持 |
Helm | 支持 | 支持 |
Pod 横向自动扩展 | 支持 | 支持 |
托管 control plane | 支持 | 支持 |
IBM 安全执行 | 不支持 | 支持 |
IBM Power® Virtual Server 的安装程序置备的基础架构支持 | 支持 | 不支持 |
在单一节点上安装 | 支持 | 支持 |
IPv6 | 支持 | 支持 |
用户定义项目的监控 | 支持 | 支持 |
多架构计算节点 | 支持 | 支持 |
多架构 control plane | 支持 | 支持 |
多路径(Multipathing) | 支持 | 支持 |
网络绑定磁盘加密 - 外部 Tang 服务器 | 支持 | 支持 |
Non-volatile memory express drives (NVMe) | 支持 | 不支持 |
NX-gzip for Power10 (硬件加速) | 支持 | 不支持 |
oc-mirror 插件 | 支持 | 支持 |
OpenShift CLI ( | 支持 | 支持 |
Operator API | 支持 | 支持 |
OpenShift Virtualization | 不支持 | 不支持 |
OVN-Kubernetes,包括 IPsec 加密 | 支持 | 支持 |
PodDisruptionBudget | 支持 | 支持 |
精度时间协议 (PTP) 硬件 | 不支持 | 不支持 |
Red Hat OpenShift Local | 不支持 | 不支持 |
Scheduler 配置集 | 支持 | 支持 |
安全引导 | 不支持 | 支持 |
流控制传输协议 (SCTP) | 支持 | 支持 |
支持多个网络接口 | 支持 | 支持 |
| 支持 | 支持 |
三节点集群支持 | 支持 | 支持 |
拓扑管理器 | 支持 | 不支持 |
SCSI 磁盘中的 z/VM 模拟 FBA 设备 | 不支持 | 支持 |
4K FCP 块设备 | 支持 | 支持 |
功能 | IBM Power® | IBM Z® 和 IBM® LinuxONE |
---|---|---|
使用 iSCSI 的持久性存储 | 支持 [1] | 支持 [1],[2] |
使用本地卷 (LSO) 的持久性存储 | 支持 [1] | 支持 [1],[2] |
使用 hostPath 的持久性存储 | 支持 [1] | 支持 [1],[2] |
使用 Fibre Channel 持久性存储 | 支持 [1] | 支持 [1],[2] |
使用 Raw Block 的持久性存储 | 支持 [1] | 支持 [1],[2] |
使用 EDEV/FBA 的持久性存储 | 支持 [1] | 支持 [1],[2] |
- 必须使用 Red Hat OpenShift Data Foundation 或其他支持的存储协议来置备持久性共享存储。
- 必须使用本地存储(如 iSCSI、FC 或者带有 DASD、FCP 或 EDEV/FBA 的 LSO)来置备持久性非共享存储。
功能 | IBM Power® | IBM Z® 和 IBM® LinuxONE |
---|---|---|
cert-manager Operator for Red Hat OpenShift | 支持 | 支持 |
Cluster Logging Operator | 支持 | 支持 |
Cluster Resource Override Operator | 支持 | 支持 |
Compliance Operator | 支持 | 支持 |
Cost Management Metrics Operator | 支持 | 支持 |
File Integrity Operator | 支持 | 支持 |
HyperShift Operator | 技术预览 | 技术预览 |
IBM Power® Virtual Server Block CSI Driver Operator | 支持 | 不支持 |
Ingress Node Firewall Operator | 支持 | 支持 |
Local Storage Operator | 支持 | 支持 |
MetalLB Operator | 支持 | 支持 |
Multiarch Tuning Operator | 支持 | 支持 |
Network Observability Operator | 支持 | 支持 |
NFD Operator | 支持 | 支持 |
NMState Operator | 支持 | 支持 |
OpenShift Elasticsearch Operator | 支持 | 支持 |
Secondary Scheduler Operator | 支持 | 支持 |
Vertical Pod Autoscaler Operator | 支持 | 支持 |
功能 | IBM Power® | IBM Z® 和 IBM® LinuxONE |
---|---|---|
Bridge | 支持 | 支持 |
Host-device | 支持 | 支持 |
IPAM | 支持 | 支持 |
IPVLAN | 支持 | 支持 |
功能 | IBM Power® | IBM Z® 和 IBM® LinuxONE |
---|---|---|
克隆 | 支持 | 支持 |
扩展 | 支持 | 支持 |
Snapshot | 支持 | 支持 |
1.3.6. Insights Operator
Insights Operator 现在从前缀为 openshift-
或 kube-
的命名空间收集更多 OpenShift Container Platform 容器日志数据,并更快地生成建议。另外,一些改进可以提高您如何为服务定义收集的数据的灵活性。
1.3.6.1. 快速建议
此发行版本引入了一个名为 Rapid Recommendations(快速建议)的新功能,它为远程配置规则提供了更动态和独立于版本的机制,用于远程配置 Insights Operator 收集的数据。
快速建议基于现有条件数据收集机制构建。Insights Operator 连接到在 /console.redhat.com
上运行的安全远程端点服务,以检索包含红帽过滤和收集哪些容器日志消息的规则的定义。
条件 data-gathering 定义(也称为规则),通过 pod.yml
配置文件中的名为 conditionalGathererEndpoint
的属性进行配置。
conditionalGathererEndpoint: https://console.redhat.com/api/gathering/v2/%s/gathering_rules
在以前的版本中,用来确定 Insights Operator 收集的数据的规则被硬编码并与对应的 OpenShift Container Platform 版本关联。
预配置的端点 URL 现在提供了一个占位符 (%s
),用于定义 OpenShift Container Platform 的目标版本。
1.3.6.2. 添加了更多收集的数据和建议
Insights Operator 现在收集更多数据来检测以下情况,其他应用程序可以使用它们生成补救建议来主动管理 OpenShift Container Platform 部署:
- 检测使用已弃用的 OpenShift SDN CNI 插件的 pod 和命名空间,并根据部署收集的数据生成推荐操作。
- 从 RHOSP 收集自定义资源定义 (CRD)。
-
收集
haproxy_exporter_server_threshold
指标,以检测 OCPBUGS-36687 中报告的问题和补救。 -
收集数据以检测不在
openshift-monitoring
命名空间中的自定义 Prometheus Alertmanager 实例,因为它们可能会影响相应资源的管理。 检测默认 Ingress Controller 过期证书的即将到期,其他应用程序和服务可用于生成建议,以便在到期日期前更新证书。
-
在此次更新之前,Insights Operator 会收集有关所有 Ingress Controller 证书的信息,包括它们的
NotBefore
和NotAfter
日期。现在,这个数据被编译到位于aggregated/ingress_controllers_certs.json
的JSON
文件中,以便更轻松地监控集群中的证书的有效性。(OCPBUGS-35727)
-
在此次更新之前,Insights Operator 会收集有关所有 Ingress Controller 证书的信息,包括它们的
1.3.7. 安装和更新
1.3.7.1. GCP 用户定义的标签和标签
在这个版本中,Google Cloud Platform (GCP) 的用户定义标签和标签正式发布。
如需更多信息,请参阅为 GCP 管理用户定义的标签和标签。
1.3.7.2. 使用 GPU 在 Nutanix 上安装集群
在这个版本中,您可以使用 GPU 的计算机器在 Nutanix 上安装集群,以进行处理。您可以使用 install-config.yaml
文件中的 compute.platform.nutanix.gpus
参数将 GPU 附加到计算节点。
如需更多信息,请参阅 Nutanix 的安装配置参数。
1.3.7.3. 使用多个磁盘在 Nutanix 上安装集群
在这个版本中,您可以使用附加了多个磁盘的计算机器在 Nutanix 上安装集群。您可以使用 install-config.yaml
文件中的 compute.platform.nutanix.dataDisks
参数将多个磁盘附加到计算节点。
如需更多信息,请参阅 Nutanix 的安装配置参数。
1.3.7.4. 在 Central Spain 区的 Azure 上安装集群
现在,您可以在 Central Spain 区 spaincentral
的 Azure 上安装 OpenShift Container Platform 集群。
如需更多信息,请参阅支持的 Azure 区域。
1.3.7.5. 使用支持配置多架构计算机器安装集群
在这个版本中,您可以使用配置多架构计算机器的支持来安装 Amazon Web Services (AWS) 集群和 Google Cloud Platform (GCP) 集群。安装集群时,您可以使用以下方法为 control plane 和计算机器指定不同的 CPU 架构:
- 64 位 x86 计算机器和 64 位 ARM control plane 机器
- 64 位 ARM 计算机器和 64 位 x86 control plane 机器
具有多架构计算机器的 OpenShift Container Platform 集群支持具有不同架构的计算机器。如需更多信息,请参阅以下文档:
1.3.7.6. 使用流虚拟网络在 Nutanix 上安装集群
在 OpenShift Container Platform 4.17 中,您可以在启用了 Flow Virtual Networking 的 Nutanix 上安装集群。流虚拟网络是 Nutanix AHV 集群的软件定义网络解决方案,它通过 VPCs、子网和其他与物理网络分开的其他虚拟组件提供多租户隔离、自助服务置备和 IP 地址保留。要执行此安装,请在安装前在 Nutanix AHV 环境中启用流虚拟网络。
如需更多信息,请参阅流虚拟网络概述。
1.3.7.7. Cluster API 替换 Microsoft Azure 安装的 Terraform
在 OpenShift Container Platform 4.17 中,安装程序使用 Cluster API 而不是 Terraform 在 Azure 上安装时置备集群基础架构。
使用 Terraform 的替换方案时,如果使用一个只有有限权限的服务主体,则需要以下权限:
-
Microsoft.Network/loadBalancers/inboundNatRules/read
-
Microsoft.Network/loadBalancers/inboundNatRules/write
-
Microsoft.Network/loadBalancers/inboundNatRules/join/action
-
Microsoft.Network/loadBalancers/inboundNatRules/delete
-
Microsoft.Network/routeTables/read
-
Microsoft.Network/routeTables/write
-
Microsoft.Network/routeTables/join/action
有关所需权限的更多信息,请参阅安装程序置备的基础架构所需的 Azure 权限。
1.3.7.8. 使用现有服务帐户在 Google Cloud Platform 上安装集群
在这个版本中,您可以使用现有服务帐户在 GCP 上安装集群,以便您可以最小化安装程序使用的服务帐户的权限。您可以在 install-config.yaml
文件中的 compute.platform.gcp.serviceAccount
和 controlPlane.platform.gcp.serviceAccount
参数中指定此服务帐户。如需更多信息,请参阅 GCP 的可用安装配置参数。
1.3.7.9. 使用现有 IAM 配置集在 AWS 上安装集群
在这个版本中,您可以使用现有的身份和访问管理 (IAM) 实例配置集在 Amazon Web Services (AWS) 上安装 OpenShift Container Platform。如需更多信息,请参阅可选 AWS 配置参数。
1.3.7.10. 使用 N4 机器集在 GCP 上安装集群
在这个版本中,您可以使用计算或 control plane 机器的 N4 机器集在 GCP 上部署集群。支持的 N4 机器集的磁盘类型是 hyperdisk-balanced
。如需更多信息,请参阅 GCP 的安装配置参数。
1.3.7.11. Cluster API 替换了 Terraform for Google Cloud Platform (GCP) 安装
在这个版本中,安装程序会使用 Cluster API 而不是 Terraform 在 GCP 上安装时置备集群基础架构。
1.3.7.12. RHOSP 的三节点集群支持
现在,Red Hat OpenStack Platform (RHOSP)支持在安装程序置备的基础架构上部署三节点集群。
如需更多信息,请参阅在 OpenStack 上安装三节点集群。
1.3.7.13. 使用 root 卷和 etcd 在本地磁盘(正式发布)上部署 Red Hat OpenStack Platform (RHOSP)
现在,您可以使用这个通用功能将 etcd 从根卷 (Cinder) 移到专用的临时本地磁盘,来作为第 2 天部署。
如需更多信息,请参阅在本地磁盘上使用 rootVolume 和 etcd 在 OpenStack 上部署。
1.3.7.14. 对于在 AWS Public Cloud 上部署的集群,将计算节点扩展到 AWS Outposts 的已弃用
在这个版本中,为 AWS Public Cloud 上部署的集群将计算节点扩展到 AWS Outposts 已被弃用。安装后将计算节点部署到 AWS Outposts 中,作为在公共 AWS 区域中运行的现有 OpenShift Container Platform 集群的扩展,将在 OpenShift Container Platform 版本 4.20 时删除。
如需更多信息,请参阅将 AWS VPC 集群扩展到 AWS Outpost。
1.3.8. Operator 生命周期
1.3.8.1. Operator Lifecycle Manager (OLM) v1 的新指南位置和发行注记部分(技术预览)
有关 OpenShift Container Platform 4.17 及之后的版本中的 OLM v1 发行注记,包括开始这个版本的新指南位置,请参阅扩展(OLM v1) 的新功能和增强部分。
在以后的发行版本中,这个 "Operator 生命周期" 部分将继续记录现有 OLM 的新功能和增强。
1.3.8.2. 已弃用 Operator 的 Web 控制台警告
当目录中为 Operator 定义已弃用的软件包、频道或版本时,OpenShift Container Platform Web 控制台现在会在 OperatorHub 的安装前和安装后页面中都会显示 Operator 受影响元素的警告徽标,包括任何自定义弃用信息。
如需有关 Operator 目录的弃用模式的更多信息,请参阅 Operator Framework 打包格式
1.3.9. Operator 开发
1.3.9.1. 云供应商上 Operator 的令牌身份验证:GCP Workload Identity
在这个版本中,由 Operator Lifecycle Manager (OLM) 管理的 Operator 可以在为 GCP Workload Identity 配置的 Google Cloud Platform (GCP) 集群中运行时支持令牌身份验证。只要 Operator 作者启用了其 Operator 支持 GCP Workload Identity,对 Cloud Credential Operator (CCO) 的更新会启用特定短期凭证的半自动化置备。
如需更多信息,请参阅使用 GCP Workload Identity 的 OLM 管理的 Operator 的基于 CCO 的工作流。
1.3.10. OpenShift CLI (oc)
1.3.10.1. oc-mirror 包括了 HyperShift KubeVirt CoreOS 容器
在这个版本中,当镜像 OpenShift Container Platform 发行有效负载时,oc-mirror 现在会包括 HyperShift KubeVirt 供应商的 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像的 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像。
默认将 kubeVirtContainer
标志设置为 false,必须在 imageSetConfig.yaml
文件中设置为 true
来提取 KubeVirt Container RHCOS。这样可确保通过包含作为托管集群节点的 KubeVirt 虚拟机所需的镜像,以确保支持断开连接的环境。
1.3.11. Machine Config Operator
1.3.11.1. MCO 支持的 control plane TLS 安全配置集
Machine Config Operator (MCO) 和 Machine Config Server 现在使用为 control plane 组件配置的 TLS 安全配置集。如需更多信息,请参阅为 control plane 配置 TLS 安全配置集。
1.3.11.2. 现在,支持 AWS 更新了引导镜像(技术预览)
现在,更新的引导镜像作为 Amazon Web Services (AWS) 集群的技术预览功能被支持。此功能允许您配置集群,以便在更新集群时更新节点引导镜像。默认情况下,集群中的引导镜像不会随集群一起更新。如需更多信息,请参阅更新引导镜像。
1.3.11.3. 更新了 GCP 集群的引导镜像,提升到 GA
为 Google Cloud Platform (GCP) 集群将更新的引导镜像提升到 GA。如需更多信息,请参阅更新引导镜像。
1.3.11.4. 提升到 GA 的节点中断策略
节点中断策略功能已提升到 GA。节点中断策略允许您定义一组 Ignition 配置对象更改,这些配置对象只需要非常短的工作负载中断或不会造成工作负载中断。如需更多信息,请参阅使用节点中断策略来最大程度降低机器配置变化的中断。
1.3.12. 机器管理
1.3.12.1. 支持 AWS 放置组分区号
此发行版本在 Amazon Web Services (AWS) 上引入了 OpenShift Container Platform MachineSet
的 placementGroupPartition
字段。使用此功能,您可以在现有放置组中指定分区号,启用精确的实例分配并改进容错。例如,请参阅使用机器集将机器分配给 Elastic Fabric Adapter 实例的放置组。
1.3.12.2. 使用机器集配置容量保留
OpenShift Container Platform release 4.17 引进了对 Microsoft Azure 集群上的 Capacity Reservation with Capacity Reservation groups 的支持。如需更多信息,请参阅 使用计算机器集为 compute 或 control plane 机器集配置容量保留。
1.3.13. 监控
此发行版本中的集群监控堆栈包括以下新功能和修改后的功能。
1.3.13.1. 监控堆栈组件和依赖项更新
此发行版本包括对集群监控堆栈组件和依赖项的以下版本更新:
- Alertmanager 更新到 0.27.0
- Prometheus Operator 更新到 0.75.2
- Prometheus 更新到 2.53.1
- kube-state-metrics 更新到 2.13.0
- node-exporter 更新到 1.8.2
- Thanos 更新到 0.35.1
1.3.13.2. 对警报规则的更改
红帽不保证记录规则或警报规则的向后兼容性。
-
添加了
PrometheusKubernetesListWatchFailures
警报,以警告用户有关 Prometheus 和 Kubernetes API 失败的用户,如无法访问 API 和权限问题,这可能会导致静默的服务发现失败。
1.3.13.3. 更新了 Prometheus,以在为用户定义的项目进行 scrape 时容忍 jitters 问题
在这个版本中,用于监控用户定义的项目的 Prometheus 配置会在 scrape 容忍 jitters 问题。这个版本优化了监控部署的数据压缩,这可以提高压缩数据的性能,这减少了对磁盘空间的使用。
1.3.13.4. Network Observability Operator
Network Observability Operator 发行版本独立于 OpenShift Container Platform 次版本流的更新。更新可以通过单一的滚动流提供,该流在所有当前支持的 OpenShift Container Platform 4 版本中被支持。有关 Network Observability Operator 的新功能、功能增强和程序错误修复的信息,请参阅 Network Observability 发行注记。
1.3.14. 节点
1.3.14.1. 新的 CRIO 命令行为
从 OpenShift Container Platform 4.17 开始,当节点重启时,crio wipe
命令会检查是否完全退出 CRI-O 二进制文件。未干净退出的镜像被标记为已损坏和删除。这个行为可防止 CRI-O 因半提取的镜像或其他未同步文件而无法启动。在 OpenShift Container Platform 4.15 和 4.16 中,crio wipe
命令在节点重启时删除所有镜像。crio wipe
命令的新行为提高了效率,同时在节点重启时仍然降低镜像崩溃的风险。
1.3.14.2. 为 must-gather 命令添加新标志
OpenShift Container Platform release 4.17 添加了两个新标记,用于 oc adm must-gather
命令,以限制收集的信息的时间。一次只能使用以下标记之一。为了支持这个功能,推荐使用插件,但这并不是必须的。
-
--since
:仅返回比相对持续时间更新的日志,如 5s、2m 或 3h。默认为所有日志。 -
--since-time
:仅在特定日期后返回日志,以 RFC3339 格式表示。默认为所有日志。
有关 oc adm must-gather 命令使用
的标记的完整列表,请参阅 Must-gather 标志。
1.3.14.3. 现在,pod 支持 Linux 用户命名空间(技术预览)
OpenShift Container Platform release 4.17 添加了对将 pod 和容器部署到 Linux 用户命名空间中的支持。在单个用户命名空间中运行 pod 和容器可以缓解受到破坏的容器可能会给其他 pod 和节点本身造成的一些漏洞。如需更多信息,请参阅在 Linux 用户命名空间中运行 pod。
1.3.14.4. CRI-O 指标端口现在使用 TLS
OpenShift Container Platform 监控现在使用 TLS 支持的端点来获取 CRI-O 容器运行时指标。这些证书由系统而不是用户管理。OpenShift Container Platform 监控查询已更新至新端口。如需有关监控使用的证书的信息,请参阅监控和 OpenShift Logging Operator 组件证书。
1.3.14.5. 将计算节点添加到内部集群
在这个版本中,您可以使用 OpenShift CLI (oc
) 添加计算节点来生成 ISO 镜像,然后可用于引导目标集群中的一个或多个节点。无论如何安装集群,都可以使用此过程。
如需更多信息,请参阅将 worker 节点添加到内部集群。
1.3.15. 网络
1.3.15.1. 双 NIC Intel E810 Logan Beach 作为 PTP grandmaster 时钟
现在,您可以将 linuxptp
服务配置为双 Intel E810 Logan Beach 网络接口控制器(NIC) 的 grandmaster 时钟 (T-GM)。您可以为以下双 E810 NIC 将 linuxptp
服务配置为 T-GM:
- Intel E810-XXVDA4T Westport Channel NIC
- Intel E810-CQDA2T Logan Beach NIC
主机系统时钟从连接到 Global Navigation Satellite Systems (GNSS) 时间源的 NIC 同步。第二个 NIC 同步到由连接到 GNSS 的 NIC 提供的 1PPS 时间输出。如需更多信息,请参阅将 linuxptp 服务配置为双 E810 NIC 的 grandmaster 时钟。
1.3.15.2. 新集群的伪装子网更改
对于 OpenShift Container Platform 4.17 及更新的版本,集群使用 169.254.0.0/17(IPv4),或 fd69::/112(IPv6)作为默认的伪装子网。用户应避免这些范围。对于升级的集群,默认 masquerade 子网没有变化。
1.3.15.3. 启用 SR-IOV 网络指标导出器
在这个版本中,您可以使用 OpenShift Container Platform Web 控制台监控 SR-IOV pod 的网络活动,查询单根 I/O 虚拟化 (SR-IOV) 虚拟功能 (VF) 指标。当使用 web 控制台查询 SR-IOV VF 指标时,SR-IOV 网络指标导出器会获取并返回 VF 网络统计信息,以及 VF 附加到的 pod 的名称和命名空间。
如需更多信息,请参阅启用 SR-IOV 网络指标导出器。
1.3.15.4. Kubernetes NMState Operator 的 Microsoft Azure
红帽支持在 Microsoft Azure 上使用 Kubernetes NMState Operator,但有使用限制。支持仅限于将系统中的 DNS 服务器配置为安装后任务。
1.3.15.5. 查看 Kubernetes NMState Operator 收集的指标
Kubernetes NMState Operator kubernetes-nmstate-operator
可以从 kubernetes_nmstate_features_applied
组件收集指标,并将其公开为可随时使用的指标。您可以使用 Administrator 和 Developer 视角查看这些指标。
1.3.15.6. 新的 PTP 快速事件 REST API 版本 2 可用
提供了新的 PTP fast 事件 O-RAN Release 3 兼容 REST API 版本 2。现在,您可以开发 PTP 事件消费者应用程序,这些应用程序直接从 PTP Operator 管理的 pod 接收主机硬件 PTP 事件。
PTP 事件 REST API v1 和 PTP 事件消费者应用程序 sidecar 已被弃用。
在 Event Consumers 3.0 的 O-RAN O-Cloud Notification API 规范中,该资源被定义为生成通知的子系统的层次结构路径。PTP 事件 REST API v2 没有资源路径中包含的所有较低层次结构资源的全局订阅。您可以将消费者应用程序订阅到不同的可用事件类型。
如需更多信息,请参阅使用 REST API v2 开发 PTP 事件消费者应用程序。
1.3.15.7. PTP grandmaster 时钟的自动秒处理
PTP Operator 现在通过使用全局位置系统 (GPS) 公告自动更新 leap second 文件。
闰秒信息存储在 openshift-ptp
命名空间中的名为 leap-configmap
的自动生成的 ConfigMap
资源中。
如需更多信息,请参阅为 PTP grandmaster 时钟配置动态 leap 秒处理。
1.3.15.8. SR-IOV 设备的 NIC 分区(正式发布)
在这个版本中,在安装时为单根 I/O 虚拟化 (SR-IOV) 设备启用 NIC 分区的功能是正式发布的(GA)。
如需更多信息,请参阅 SR-IOV 设备的 NIC 分区。
1.3.15.9. SR-IOV VF 的主机网络设置(正式发布)
在这个版本中,对现有集群中单根 I/O 虚拟化 (SR-IOV) 网络虚拟功能更新主机网络设置的功能正式发布。
如需更多信息,请参阅虚拟功能的节点网络配置策略。
1.3.15.10. 用户定义的网络分段(技术预览)
在 OpenShift Container Platform 4.17 中,用户可以创建多个网络,并通过 UserDefinedNetwork
(UDN) 自定义资源定义(CRD) 的技术预览将它们声明为其工作负载的主要或从属网络。使用 UDN,用户可以在不配置和管理复杂网络策略的情况下隔离命名空间。
如需更多信息,请参阅了解用户定义的网络
1.3.15.11. CoreDNS 更新至 1.11.3 版本
OpenShift Container Platform 4.17 现在包含 CoreDNS 版本 1.11.3。
1.3.15.12. eBPF Manager Operator (技术预览)
eBPF Manager Operator 作为技术预览提供,允许您安全地部署和管理 eBPF 程序。它有助于在 OpenShift Container Platform 集群中对 eBPF 程序进行安全加载、卸载、修改和监控。有关部署 bpfman Operator 的更多信息,请参阅关于 eBPF Manager Operator。
1.3.15.13. Ingress Node Firewall Operator 的 eBPF 程序支持(技术预览)
为 Ingress Node Firewall Operator 安全管理 eBPF 程序作为技术预览提供。使用此功能需要安装 eBPF Manager Operator,也作为技术预览提供。如需更多信息,请参阅 Ingress Node Firewall Operator 集成。
1.3.15.14. 对 MetalLB 的更改
在这个版本中,MetalLB 使用 FRR-K8s
作为默认后端。在以前的版本中,这是技术预览功能。如需更多信息,请参阅配置 MetalLB 和 FRR-K8s 的集成。
MetalLB 还包括 Border Gateway Protocol (BGP) peer 自定义资源 connectTime
的新字段。您可以使用此字段指定 BGP 在连接尝试到邻居之间等待的时间。如需更多信息,请参阅关于 BGP peer 自定义资源。
1.3.15.15. 为 vfio-pci SR-IOV 设备公开 MTU
在这个版本中,在 network-status pod 注解和容器中,使用 vfio-pci
驱动程序的虚拟功能上的最大传输单元 (MTU)。
如需更多信息,请参阅将 vfio-pci SR-IOV 设备的 MTU 公开给 pod。
1.3.15.16. MetalLB 指标命名更新
在这个版本中,MetalLB 和 BFD 指标的命名约定已更新:
-
BGP 指标的命名已从
metallb_bgp_<metric_name>
更新到frrk8s_bgp_<metric_name>
。 -
BFD 指标的命名已从
metallb_bfd_<metric_name>
更新到frrk8s_bfd_<metric_name>
。
要以新格式查看所有指标,请参阅 BGP 和 BFD 的 MetalLB 指标。
1.3.16. 容器镜像仓库(Registry)
1.3.16.1. S3 registry 存储的新 chunkSizeMiB 配置参数
现在,使用 S3 API 兼容的后端存储部署提供了一个新的可选配置参数 chunkSizeMiB
。配置后,它会决定 S3 API 的多部分上传块的大小。默认值为 10
MiB,最小值为 5
MiB。
如需更多信息,请参阅 AWS S3 的 Image Registry Operator 配置参数。
1.3.17. Red Hat Enterprise Linux CoreOS (RHCOS)
1.3.17.1. RHCOS 使用 RHEL 9.4
RHCOS 在 OpenShift Container Platform 4.17 中使用 Red Hat Enterprise Linux (RHEL) 9.4 软件包。这些软件包可确保 OpenShift Container Platform 实例收到最新的修复、功能、增强功能、硬件支持和驱动程序更新。
1.3.17.2. 支持 DNF 软件包管理器
在这个版本中,您可以使用 DNF 将额外的软件包安装到自定义的 Red Hat Enterprise Linux CoreOS (RHCOS) 构建中。如需更多信息,请参阅 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像分层。
1.3.18. Storage
1.3.18.1. AWS EFS CSI 存储使用指标已正式发布
Amazon Web Services (AWS) Elastic File Service (EFS) 使用指标允许您监控 EFS 卷使用的空间量。这个功能已正式发布。
打开这些指标可能会导致性能下降,因为 CSI 驱动程序会遍历整个卷。因此,默认禁用这个选项。管理员必须显式启用此功能。
如需更多信息,请参阅 AWS EFS 存储 CSI 使用指标。
1.3.18.2. 防止未经授权的卷模式转换已正式发布
在以前的版本中,没有验证原始卷 (filesystem 或 raw 块) 的模式是否与新创建的卷的模式匹配。这会产生一个安全隐患,允许恶意用户利用主机操作系统中的非临时漏洞。
然而,某些用户确实需要执行此类转换。此功能允许集群管理员向可信用户或应用程序(如备份供应商)提供这些权限(无法对 VolumeSnapshotContents 对象
执行更新或补丁操作)。
要转换卷模式,授权用户需要更改 snapshot.storage.kubernetes.io/allow-volume-mode-change: "true"
用于快照源的 VolumeSnapshotContent。
此功能作为正式发布 (GA) 被支持。
1.3.18.3. 为 GCP Filestore 自动删除资源已正式发布
在早期版本的 OpenShift Container Platform 中,在销毁集群时,Google Compute Platform (GCP) Filestore Storage 不会删除属于该集群的所有云资源。这需要在销毁集群前手动删除使用 Filestore 存储类的所有持久性卷声明 (PVC)。
在 OpenShift Container Platform 4.17 中,当销毁集群时,OpenShift Container Platform 安装程序通常会删除属于该集群的所有云资源,因此不需要手动删除 PVC。但是,由于 Google Compute Platform (GCP) Filestore 资源的特殊性质,在一些罕见的情况下,自动清理过程可能不会完全删除它们。此功能作为正式发布 (GA) 被支持。
如需更多信息,请参阅销毁集群和 GCP Filestore。
1.3.18.4. Azure File CSI 支持快照(技术预览)
OpenShift Container Platform 4.17 引入了对 Microsoft Azure File Container Storage Interface (CSI) Driver Operator 的卷快照支持。这个功能作为技术预览功能被支持。
如需更多信息,请参阅 OpenShift Container Platform 支持的 CSI 驱动 和 CSI 卷快照。
1.3.18.5. 对 vSphere CSI 的多个 vCenter 支持(技术预览)
OpenShift Container Platform v4.17 引入了在多个 vSphere 集群(vCenters)上部署 OpenShift Container Platform 的功能。此功能支持技术预览状态。
多个 vCenter 只能在安装过程中配置。支持的 vCenter 集群的最大数量为三个。
如需更多信息,请参阅 vSphere CSI 的多个 vCenter 支持和 vSphere 的安装配置参数。
1.3.18.6. 在 vSphere 上禁用和启用存储(技术预览)
集群管理员可能希望禁用 VMWare vSphere Container Storage Interface (CSI) 驱动程序作为第 2 天操作,因此 vSphere CSI 驱动程序不与您的 vSphere 设置接口。对这个功能的支持为技术预览
如需更多信息,请参阅在 vSphere 上禁用和启用存储。
1.3.18.7. RWX/RWO SELinux Mount (开发者预览)
当卷包含大量文件时,Pod 可能需要很长时间才能启动。为了在使 SELinux 进行限制时避免 SELinux 标记的问题,您可以启用 ReadWriteMany/ReadWriteOnce (RWX/RWO) SELinux Mount 功能。请注意,RWX/RWO SELinux Mount 功能是一个开发人员预览功能。红帽目前不支持这个功能,您不应该在生产环境中或您计划长期维护的集群中启用此功能。
RWX/RWO SELinux Mount 只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
有关 RWX/RWO SELinux 挂载功能的更多信息,包括如何启用它,请参阅 RWX/RWO SELinux 挂载功能知识库文章。
1.3.18.8. 使用 cns-migration在数据存储之间迁移 CNS 卷 (开发者预览)
在 OpenShift Container Platform 4.17 中,如果当前数据存储的空间已耗尽,或希望使用一个性能更好的数据存储,您可以在这些数据存储之间迁移卷。请注意,此功能是开发者技术预览功能。红帽不支持它。
在 Datastore 之间迁移 CNS 卷只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
有关 cns-migration 的更多信息,请参阅在数据存储间移动 CNS 卷。
1.3.18.9. Google Secret Manager 现在可用于 Secrets Store CSI Driver Operator (技术预览)
现在,您可以使用 Secrets Store CSI Driver Operator 将 secret 从 Google Secret Manager 挂载到 OpenShift Container Platform 中的 Container Storage Interface (CSI) 卷。Secrets Store CSI Driver Operator 作为技术预览提供。
有关可用机密存储提供程序的完整列表,请参阅 Secret 存储提供程序。
有关使用 Secrets Store CSI Driver Operator 从 Google Secret Manager 挂载 secret 的详情,请参考从 Google Secret Manager 挂载 secret。
1.3.19. 可伸缩性和性能
1.3.19.1. 内核模块管理 Operator
在本发行版本中,固件搜索路径已被更新,将指定路径的内容复制到 worker.setFirmwareClassPath
中指定的路径中(默认为 /var/lib/firmware
)。如需更多信息,请参阅模块 CR 示例。
1.3.19.2. etcd 的节点扩展
在本发行版本中,如果在裸机平台上安装了集群,您可以将集群 control plane 扩展到 5 个节点作为安装后任务。etcd Operator 会相应地扩展,以考虑额外的 control plane 节点。如需更多信息,请参阅 etcd 的节点扩展。
1.3.20. 安全性
1.3.20.1. 自动轮转签名者证书
在这个版本中,所有 etcd
证书都源自一个新的命名空间:openshift-etcd
。当新的签名者证书接近其过期日期时,会出现以下操作:
- 激活 signer 证书自动轮转。
- 证书捆绑包更新。
- 使用新签名者重新生成所有证书。
通过删除特定的 secret 并等待状态 pod rollout 完成,仍然支持手动轮转 signer 证书。
1.3.20.2. sigstore 签名镜像验证
在这个版本中,技术预览集群使用 Sigstore 签名来验证使用引用 quay.io/openshift-release-dev/ocp-release
仓库的 pull spec 检索的镜像。
目前,如果您要镜像镜像,还必须镜像 quay.io/openshift-release-dev/ocp-release:<release_image_digest_with_dash>.sig
Sigstore 签名,以便镜像验证成功。
1.3.21. Web 控制台
1.3.21.1. OpenShift Lightspeed Operator 在 web 控制台中提供
从 OpenShift Container Platform 4.16 开始,OpenShift Lightspeed Operator 可以在 web 控制台中使用。在这个版本中,添加了浮动按钮来帮助您发现 OpenShift Lightspeed。点浮动按钮后,会弹出聊天窗口,其中会显示有关如何在集群中启用和安装 OpenShift Lightspeed 的说明。在更改默认用户首选项时,您可以隐藏 OpenShift Lightspeed 按钮。
1.3.21.2. Administrator perspective (管理员视角)
此发行版本对 web 控制台的 Administrator 视角包括以下更新:
- 弃用的 Operator 在安装后会在 OperatorHub 中显示,以及一条关于 Operator 弃用的警告通知。
-
您可以检查
MachineConfig
对象的配置文件的内容,而无需手动检索其内容。 - 如果您的集群位于带有 Workload Identity Foundation (WIF) 的 Google Cloud Platform (GCP) 上,在 Operator 详情页以及 Operator 安装页中会带有一个提示信息。
-
在 Shipwright 页中添加了一个 ShipWright
BuildStrategy
页,它带有ClusterBuildStrategy
和BuildStrategy
选项卡。
1.3.21.2.1. 使用动态插件对 Create project 模态进行自定义
在这个版本中,添加了一个新的扩展点,动态插件创建者可以传递一个组件,它会替代默认的 Create Project 模态。
如需有关 OpenShift Container Platform 控制台动态插件 SDK 扩展的更多信息,请参阅动态插件扩展类型。
1.3.21.2.2. 现在,外部 OpenID Connect (OIDC) 令牌签发者在 web 控制台中可以正常工作
在这个版本中,当内部 oauth-server
资源和 oauth-apiserver
资源被删除并替换为外部 OpenID Connect (OIDC)签发者时,web 控制台可以正常工作。
1.3.21.3. Developer Perspective (开发者视角)
此发行版本在 web 控制台的 Developer 视角包括以下更新:
- 当您使用其中一个添加流来创建新部署时,Import from Git 或容器镜像 会在侧边栏中自动打开它们。
- 如果 OpenShift Container Platform 无法识别类型,您可以轻松地选择所需的 Git Type,而无需使用列表。
- Import from Git 支持 GitEA(GitHub 的一个开源替代方案)
-
如果达到了
PodDisruptionBudget
的限制,则 Topology 页会显示一个警告通知。 - 当通过 Import from Git 流导入应用程序时,您可以使用 Shipwright 构建策略,如 S2I、buildpack 和 buildah 策略来构建镜像。