×

主机固件调整

此版本的新增功能
  • 现在,您可以为使用 GitOps ZTP 部署的托管集群配置主机固件设置。

说明

调整主机固件设置,以在初始集群部署期间获得最佳性能。托管集群主机固件设置在集线器集群上可用,作为在您使用 `SiteConfig` CR 和 GitOps ZTP 部署托管集群时创建的 `BareMetalHost` 自定义资源 (CR)。

限制和要求
  • 必须启用超线程

工程注意事项
  • 调整所有设置以获得最佳性能。

  • 除非为省电进行调整,否则所有设置都应为最佳性能。

  • 您可以根据需要调整主机固件以节省功耗,但会牺牲性能。

  • 启用安全启动。启用安全启动后,内核仅加载已签名的内核模块。不支持树外驱动程序。

节点调优操作符

此版本的新增功能
  • 此版本中没有参考设计更新

说明

您可以通过创建性能配置文件来调整集群性能。

RAN DU用例要求集群针对低延迟性能进行调优。

限制和要求

节点调优操作符使用PerformanceProfile CR来配置集群。您需要在RAN DU配置文件PerformanceProfile CR中配置以下设置

  • 选择保留和隔离的核心,并确保您在英特尔第三代至强(Ice Lake)2.20 GHz CPU或更高版本的CPU上分配至少4个超线程(相当于2个核心),且固件已针对最大性能进行调优。

  • 设置保留的cpuset以包含每个包含核心的两个超线程兄弟。未保留的核心可用作可分配的CPU来调度工作负载。确保超线程兄弟不会被拆分到保留和隔离的核心之间。

  • 根据您设置为保留和隔离的CPU,配置保留和隔离的CPU以包含所有核心中的所有线程。

  • 将每个NUMA节点的内核0设置为包含在保留的CPU集中。

  • 将巨页大小设置为1G。

您不应该向管理分区添加额外的工作负载。只有属于OpenShift管理平台的那些Pod才应该被注释到管理分区中。

工程注意事项
  • 您应该使用RT内核来满足性能要求。但是,如果需要,您可以使用非RT内核,但这会对集群性能产生相应的影响。

  • 您配置的巨页数量取决于应用程序工作负载的要求。此参数的变化是预期并允许的。

  • 根据所选硬件和系统上使用的其他组件,保留和隔离的CPU集的配置变化是预期的。变化仍然必须满足指定的限制。

  • 不支持IRQ亲和性的硬件会影响隔离的CPU。为了确保具有保证的整个CPU QoS的Pod能够充分利用分配的CPU,服务器中的所有硬件都必须支持IRQ亲和性。有关更多信息,请参见“查找节点的有效IRQ亲和性设置”。

当您使用cpuPartitioningMode: AllNodes设置在集群部署期间启用工作负载分区时,PerformanceProfile CR中的保留CPU集必须包含足够的CPU用于操作系统、中断和OpenShift平台Pod。

cgroups v1是一个已弃用的功能。OpenShift Container Platform中仍然包含已弃用的功能,并继续得到支持;但是,它将在该产品的未来版本中删除,并且不推荐用于新的部署。

有关OpenShift Container Platform中已弃用或删除的主要功能的最新列表,请参阅OpenShift Container Platform发行说明中的“已弃用和已删除的功能”部分。

PTP操作符

此版本的新增功能
  • 第二个版本的精确时间协议 (PTP) 快速事件REST API现已可用。客户端应用程序现在可以订阅PTP事件生产者侧车中的事件REST API。PTP快速事件REST API v2符合O-RAN O-Cloud事件使用者通知API规范3.0。您可以通过设置PtpOperatorConfig资源中的ptpEventConfig.apiVersion字段来更改API版本。

说明

有关在集群节点中支持和配置PTP的详细信息,请参见“推荐的vDU应用程序工作负载单节点OpenShift集群配置”。DU节点可以运行以下模式

  • 作为同步到主时钟或边界时钟 (T-BC) 的普通时钟 (OC)。

  • 作为从GPS同步的主时钟 (T-GM),支持单卡或双卡E810网卡。

  • 作为双边界时钟(每个网卡一个),支持E810网卡。

  • 在不同网卡上有多个时间源时,作为具有高可用性 (HA) 系统时钟的T-BC。

  • 可选:作为无线单元 (RU) 的边界时钟。

限制和要求
  • 双网卡和HA限制为两个边界时钟。

  • T-GM限制为双卡E810配置。

工程注意事项
  • 提供了普通时钟、边界时钟、具有高可用性系统时钟的边界时钟和主时钟的配置。

  • PTP快速事件通知使用ConfigMap CR来存储PTP事件订阅。

  • PTP事件REST API v2没有针对资源路径中包含的所有较低层次资源的全局订阅。您可以分别订阅客户端应用程序到各种可用的事件类型。

SR-IOV操作符

此版本的新增功能
  • 此版本中没有参考设计更新

说明

SR-IOV操作符预配和配置SR-IOV CNI和设备插件。netdevice(内核VF)和vfio(DPDK)设备都受支持,并适用于RAN使用模型。

限制和要求
  • 使用OpenShift Container Platform支持的设备

  • BIOS中的SR-IOV和IOMMU启用:SR-IOV网络操作符将自动在内核命令行上启用IOMMU。

  • SR-IOV VF不会从PF接收链路状态更新。如果需要链路断开检测,则必须在协议级别配置此检测。

  • 不支持使用安全启动或内核锁定更新固件的网卡必须预先配置足够的虚拟功能 (VF) 以支持应用程序工作负载所需的VF数量。

    您可能需要使用未公开的disablePlugins选项来禁用不支持的网卡的SR-IOV操作符插件。

工程注意事项
  • 具有vfio驱动程序类型的SR-IOV接口通常用于为需要高吞吐量或低延迟的应用程序启用额外的辅助网络。

  • SriovNetworkSriovNetworkNodePolicy自定义资源 (CR) 的配置和数量的客户差异是预期的。

  • IOMMU内核命令行设置在安装时使用MachineConfig CR应用。这确保SriovOperator CR在添加它们时不会导致节点重新启动。

  • 在单节点OpenShift集群中,不支持并行清空节点的SR-IOV功能。

  • 如果您从部署中排除SriovOperatorConfig CR,则不会自动创建该CR。

  • 在您将工作负载固定或限制到特定节点的场景中,SR-IOV并行节点清空功能不会导致Pod重新调度。在这些场景中,SR-IOV操作符将禁用并行节点清空功能。

日志记录

此版本的新增功能
  • 集群日志记录操作符 6.0 是此版本的新增功能。更新您的现有实现以适应新版本的 API。

说明

使用日志记录收集来自远端边缘节点的日志,以便远程分析。推荐的日志收集器是 Vector。

工程注意事项
  • 处理基础设施和审计日志之外的日志(例如,来自应用程序工作负载的日志)需要根据额外的日志记录速率增加额外的 CPU 和网络带宽。

  • 从 OpenShift Container Platform 4.14 开始,Vector 是参考日志收集器。

    在 RAN 使用模型中使用 fluentd 已弃用。

其他资源

SRIOV-FEC 操作符

此版本的新增功能
  • 此版本中没有参考设计更新

说明

SRIOV-FEC 操作符是一个可选的第三方认证操作符,支持 FEC 加速器硬件。

限制和要求
  • 从 FEC 操作符 v2.7.0 开始

    • 支持SecureBoot

    • PFvfio驱动程序需要使用注入到 Pod 中的vfio-token。Pod 中的应用程序可以使用 EAL 参数--vfio-vf-tokenVF令牌传递给 DPDK。

工程注意事项
  • SRIOV-FEC 操作符使用来自isolated CPU 集的 CPU 内核。

  • 您可以将 FEC 就绪性验证作为应用程序部署的预检查的一部分,例如,通过扩展验证策略。

生命周期代理

此版本的新增功能
  • 此版本中没有参考设计更新

说明

生命周期代理为单节点 OpenShift 集群提供本地生命周期管理服务。

限制和要求
  • 生命周期代理不适用于多节点集群或具有额外工作节点的单节点 OpenShift 集群。

  • 需要在安装集群时创建的持久卷。有关分区要求,请参阅“使用 GitOps ZTP 时在 ostree stateroots 之间配置共享容器目录”。

本地存储操作符

此版本的新增功能
  • 此版本中没有参考设计更新

说明

您可以使用本地存储操作符创建可被应用程序用作PVC资源的持久卷。您创建的PV资源的数量和类型取决于您的需求。

工程注意事项
  • 在创建PV之前,为PV CR 创建后端存储。这可以是分区、本地卷、LVM 卷或完整磁盘。

  • 请参考硬件路径(用于访问每个设备)在LocalVolume CR 中的设备列表,以确保正确分配磁盘和分区。逻辑名称(例如,/dev/sda)不能保证在节点重启后保持一致。

    有关更多信息,请参阅RHEL 9 设备标识符文档

LVM 存储

此版本的新增功能
  • 此版本中没有参考设计更新

逻辑卷管理器 (LVM) 存储是一个可选组件。

当您使用 LVM 存储作为存储解决方案时,它将替换本地存储操作符。CPU 资源被分配给管理分区作为平台开销。参考配置必须包含这些存储解决方案之一,但不能同时包含两者。

说明

LVM 存储提供块存储和文件存储的动态配置。LVM 存储从本地设备创建逻辑卷,应用程序可以将这些逻辑卷用作PVC资源。还可以进行卷扩展和快照。

限制和要求
  • 在单节点 OpenShift 集群中,持久存储必须由 LVM 存储或本地存储提供,不能同时提供两者。

  • 卷快照不包含在参考配置中。

工程注意事项
  • LVM 存储可用作 RAN DU 使用案例的本地存储实现。当使用 LVM 存储作为存储解决方案时,它将替换本地存储操作符,并且所需的 CPU 将被分配给管理分区作为平台开销。参考配置必须包含这些存储解决方案之一,但不能同时包含两者。

  • 确保有足够的磁盘或分区可用于存储需求。

工作负载分区

此版本的新增功能
  • 此版本中没有参考设计更新

说明

工作负载分区将属于 DU 配置文件的 OpenShift 平台和 Day 2 操作符 Pod 固定到保留的 CPU 集,并从节点帐户中移除保留的 CPU。这将使所有未保留的 CPU 内核可用于用户工作负载。

限制和要求
  • 必须为NamespacePod CR 添加注释,以允许将 Pod 应用于管理分区。

  • 无法将具有 CPU 限制的 Pod 分配到分区。这是因为变异可能会更改 Pod QoS。

  • 有关可以分配给管理分区的 CPU 最小数量的更多信息,请参阅节点调整操作符

工程注意事项
  • 工作负载分区将所有管理 Pod 固定到保留的核心。必须为保留集分配足够数量的核心,以应对操作系统、管理 Pod 和工作负载启动、节点重启或其他系统事件发生时出现的 CPU 使用率峰值。

其他资源

集群调整

此版本的新增功能
  • 此版本中没有参考设计更新

说明

有关可以在安装前启用或禁用的所有可选组件的完整列表,请参阅“集群功能”。

限制和要求
  • 安装程序配置的安装方法不可用集群功能。

  • 您必须应用所有平台调整配置。下表列出了所需的平台调整配置

    表 1. 集群功能配置
    功能 说明

    删除可选集群功能

    仅在单节点 OpenShift 集群上禁用可选集群操作符,以减小 OpenShift Container Platform 的占用空间。

    • 删除所有可选操作符,但市场和节点调整操作符除外。

    配置集群监控

    通过执行以下操作来配置占用空间更小的监控堆栈

    • 禁用本地alertmanagertelemeter组件。

    • 如果您使用 RHACM 可观察性,则必须使用适当的additionalAlertManagerConfigs CR 增强 CR,以便将警报转发到中心集群。

    • Prometheus保留期缩短至 24 小时。

      RHACM 中心集群聚合托管集群指标。

    禁用网络诊断

    为单节点 OpenShift 禁用网络诊断,因为它们不需要。

    配置单个 OperatorHub 目录源

    将集群配置为使用单个目录源,该目录源仅包含 RAN DU 部署所需的 Operator。每个目录源都会增加集群上的 CPU 使用率。使用单个CatalogSource符合平台 CPU 预算。

    禁用控制台操作符

    如果集群是在禁用控制台的情况下部署的,则不需要Console CR (ConsoleOperatorDisable.yaml)。如果集群是在启用控制台的情况下部署的,则必须应用Console CR。

工程注意事项
  • 在 OpenShift Container Platform 4.16 及更高版本中,应用PerformanceProfile CR 后,集群不会自动回退到 cgroups v1。如果集群上运行的工作负载需要 cgroups v1,则需要将集群配置为使用 cgroups v1。

    如果需要配置 cgroups v1,请在初始集群部署时进行配置。

其他资源

机器配置

此版本的新增功能
  • 此版本中没有参考设计更新

限制和要求
  • CRI-O wipe 禁用MachineConfig 假设磁盘上的镜像在定义的维护窗口内进行计划维护之外是静态的。为确保镜像是静态的,请不要将 pod 的imagePullPolicy 字段设置为Always

    表 2. 机器配置选项
    功能 说明

    容器运行时

    将所有节点角色的容器运行时设置为crun

    kubelet 配置和容器挂载隐藏

    降低 kubelet 的维护和驱逐监控频率,以降低 CPU 使用率。创建一个对 kubelet 和 CRI-O 可见的容器挂载命名空间,以减少系统挂载扫描资源使用。

    SCTP

    可选配置(默认启用)启用 SCTP。RAN 应用程序需要 SCTP,但在 RHCOS 中默认情况下禁用。

    kdump

    可选配置(默认启用)启用 kdump 以在发生内核崩溃时捕获调试信息。

    启用 kdump 的参考 CR 具有基于参考配置中包含的驱动程序和内核模块集的增加的内存预留。

    CRI-O wipe 禁用

    禁用在 unclean 关闭后自动清除 CRI-O 镜像缓存。

    与 SR-IOV 相关的内核参数

    在内核命令行中包含其他与 SR-IOV 相关的参数。

    RCU Normal systemd 服务

    系统完全启动后设置rcu_normal

    一次性时间同步

    为控制平面或工作节点运行一次性的 NTP 系统时间同步作业。

电信 RAN DU 部署组件

以下部分描述了用于使用 Red Hat Advanced Cluster Management (RHACM) 配置中心集群的各种 OpenShift Container Platform 组件和配置。

Red Hat Advanced Cluster Management

此版本的新增功能
  • 此版本中没有参考设计更新

说明

Red Hat Advanced Cluster Management (RHACM) 提供多集群引擎 (MCE) 安装和已部署集群的持续生命周期管理功能。通过在维护窗口期间将Policy 自定义资源 (CR) 应用于集群,您可以声明性地管理集群配置和升级。

您使用由拓扑感知生命周期管理器 (TALM) 管理的 RHACM 策略控制器来应用策略。策略控制器处理配置、升级和集群状态。

安装托管集群时,RHACM 会应用标签和初始点火配置到各个节点,以支持自定义磁盘分区、角色分配和机器配置池分配。您可以使用SiteConfigClusterInstance CR 定义这些配置。

限制和要求
  • 每个 ArgoCD 应用程序 300 个SiteConfig CR。您可以使用多个应用程序来实现单个中心集群支持的最大集群数量。

  • 单个中心集群最多支持 3500 个部署的单节点 OpenShift 集群,每个集群绑定 5 个Policy CR。

工程注意事项
  • 使用 RHACM 策略中心端模板可以更好地扩展集群配置。通过使用单个组策略或少量通用组策略(其中组和每个集群的值被替换为模板),您可以显著减少策略数量。

  • 集群特定配置:托管集群通常具有一些特定于单个集群的配置值。这些配置应使用 RHACM 策略中心端模板进行管理,并从基于集群名称的ConfigMap CR 中提取值。

  • 为了节省托管集群上的 CPU 资源,在集群的 GitOps ZTP 安装之后,应将应用静态配置的策略与托管集群取消绑定。

拓扑感知生命周期管理器

此版本的新增功能
  • 此版本中没有参考设计更新

说明

拓扑感知生命周期管理器 (TALM) 是一个仅在中心集群上运行的操作符,用于管理如何将更改(包括集群和操作符升级、配置等)推出到网络。

限制和要求
  • TALM 支持以 400 个为一批的并发集群部署。

  • 预缓存和备份功能仅适用于单节点 OpenShift 集群。

工程注意事项
  • 只有具有ran.openshift.io/ztp-deploy-wave 注解的策略才会在初始集群安装期间由 TALM 自动应用。

  • 您可以创建更多ClusterGroupUpgrade CR 来控制 TALM 修复的策略。

GitOps 和 GitOps ZTP 插件

此版本的新增功能
  • 此版本中没有参考设计更新

说明

GitOps 和 GitOps ZTP 插件提供了一个基于 GitOps 的基础架构,用于管理集群部署和配置。集群定义和配置作为 Git 中的声明性状态维护。您可以将ClusterInstance CR 应用于中心集群,其中SiteConfig 操作符将其呈现为安装 CR。或者,您可以使用 GitOps ZTP 插件直接从SiteConfig CR 生成安装 CR。GitOps ZTP 插件支持基于PolicyGenTemplate CR 自动将配置 CR 包装到策略中。

您可以使用基线参考配置 CR 在托管集群上部署和管理多个版本的 OpenShift Container Platform。您可以将自定义 CR 与基线 CR 一起使用。

要同时维护多个每个版本的策略,请使用 Git 管理源 CR 和策略 CR(PolicyGenTemplatePolicyGenerator)的版本。

将参考 CR 和自定义 CR 保存在不同的目录下。这样做允许您通过简单地替换所有目录内容来修补和更新参考 CR,而无需触及自定义 CR。

限制
  • 每个 ArgoCD 应用程序 300 个SiteConfig CR。您可以使用多个应用程序来实现单个中心集群支持的最大集群数量。

  • Git 中/source-crs 文件夹中的内容会覆盖 GitOps ZTP 插件容器中提供的内容。Git 在搜索路径中优先。

  • /source-crs 文件夹添加到与包含PolicyGenTemplate 作为生成器的kustomization.yaml 文件相同的目录中。

    在此上下文中不支持/source-crs 目录的其他位置。

  • 从 OpenShift Container Platform 4.15 及更高版本开始,SiteConfig CR 的extraManifestPath 字段已弃用。请改用新的extraManifests.searchPaths 字段。

工程注意事项
  • 对于多节点集群升级,您可以在维护窗口期间通过将paused 字段设置为true 来暂停MachineConfigPool (MCP) CR。您可以通过配置MCP CR 中的maxUnavailable 设置来增加同时更新的每个MCP 节点数。MaxUnavailable 字段定义在MachineConfig 更新期间池中可以同时不可用的节点百分比。将maxUnavailable 设置为最大可容忍值。这减少了集群在升级期间的重启次数,从而缩短了升级时间。当您最终取消暂停MCP CR 时,所有更改的配置都将通过一次重启应用。

  • 在集群安装期间,您可以通过将paused 字段设置为true 并将maxUnavailable 设置为 100% 来暂停自定义MCP CR,以提高安装速度。

  • 为了避免在更新内容时出现文件混淆或意外覆盖,请为 Git 中/source-crs 文件夹中的用户提供的 CR 和额外清单使用唯一且可区分的名称。

  • SiteConfig CR 允许多个额外清单路径。当在多个目录路径中找到同名文件时,最后找到的文件优先。这允许您将完整的版本特定第 0 天清单(额外清单)放在 Git 中,并从SiteConfig CR 中引用它们。使用此功能,您可以同时将多个 OpenShift Container Platform 版本部署到托管集群。

基于代理的安装程序

此版本的新增功能
  • 此版本中没有参考设计更新

说明

基于代理的安装程序 (ABI) 提供无需集中式基础架构的安装功能。安装程序会创建一个 ISO 镜像,您将其挂载到服务器上。服务器启动时,它会安装 OpenShift Container Platform 和提供的额外清单。

您还可以使用 ABI 在没有 Hub 集群的情况下安装 OpenShift Container Platform 集群。但是,使用 ABI 时仍然需要镜像注册表。

基于代理的安装程序 (ABI) 是一个可选组件。

限制和要求
  • 您可以在安装时提供有限的额外清单。

  • 您必须包含 RAN DU 用例所需的 `MachineConfiguration` CR。

工程注意事项
  • ABI 提供 OpenShift Container Platform 的基础安装。

  • 您需要在安装后安装 Day 2 运算符和 RAN DU 用例配置的其余部分。