3.9. 电信核心参考配置 CR


使用以下自定义资源(CR)来使用电信核心配置集配置和部署 OpenShift Container Platform 集群。使用 CR 组成所有特定使用模型中使用的通用基准,除非另有说明。

3.9.1. 提取电信核心引用设计 CR

您可以从 telco-core-rds-rhel9 容器镜像中提取电信核心配置集的完整自定义资源(CR)集合。容器镜像具有电信核心配置集所需的 CR 和可选 CR。

先决条件

  • 已安装 podman

流程

  1. 运行以下命令,使用凭证登录到容器镜像 registry:

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,从 lecommunications-core-rds-rhel9 容器镜像中提取内容:

    $ mkdir -p ./out
    Copy to Clipboard Toggle word wrap
    $ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out
    Copy to Clipboard Toggle word wrap

验证

  • out 目录具有以下目录结构:您可以运行以下命令来查看 out/telco-core-rds/ 目录中的电信核心 CR:

    $ tree -L 4
    Copy to Clipboard Toggle word wrap

    输出示例

    .
    ├── configuration
    │   ├── compare.sh
    │   ├── core-baseline.yaml
    │   ├── core-finish.yaml
    │   ├── core-overlay.yaml
    │   ├── core-upgrade.yaml
    │   ├── kustomization.yaml
    │   ├── Makefile
    │   ├── ns.yaml
    │   ├── README.md
    │   ├── reference-crs
    │   │   ├── custom-manifests
    │   │   │   ├── mcp-worker-1.yaml
    │   │   │   ├── mcp-worker-2.yaml
    │   │   │   ├── mcp-worker-3.yaml
    │   │   │   └── README.md
    │   │   ├── optional
    │   │   │   ├── logging
    │   │   │   ├── networking
    │   │   │   ├── other
    │   │   │   └── tuning
    │   │   └── required
    │   │       ├── networking
    │   │       ├── other
    │   │       ├── performance
    │   │       ├── scheduling
    │   │       └── storage
    │   ├── reference-crs-kube-compare
    │   │   ├── compare_ignore
    │   │   ├── comparison-overrides.yaml
    │   │   ├── metadata.yaml
    │   │   ├── optional
    │   │   │   ├── logging
    │   │   │   ├── networking
    │   │   │   ├── other
    │   │   │   └── tuning
    │   │   ├── ReferenceVersionCheck.yaml
    │   │   ├── required
    │   │   │   ├── networking
    │   │   │   ├── other
    │   │   │   ├── performance
    │   │   │   ├── scheduling
    │   │   │   └── storage
    │   │   ├── unordered_list.tmpl
    │   │   └── version_match.tmpl
    │   └── template-values
    │       ├── hw-types.yaml
    │       └── regional.yaml
    ├── install
    │   ├── custom-manifests
    │   │   ├── mcp-worker-1.yaml
    │   │   ├── mcp-worker-2.yaml
    │   │   └── mcp-worker-3.yaml
    │   ├── example-standard.yaml
    │   ├── extra-manifests
    │   │   ├── control-plane-load-kernel-modules.yaml
    │   │   ├── kdump-master.yaml
    │   │   ├── kdump-worker.yaml
    │   │   ├── mc_rootless_pods_selinux.yaml
    │   │   ├── mount_namespace_config_master.yaml
    │   │   ├── mount_namespace_config_worker.yaml
    │   │   ├── sctp_module_mc.yaml
    │   │   └── worker-load-kernel-modules.yaml
    │   └── README.md
    └── README.md
    Copy to Clipboard Toggle word wrap

3.9.2. 将集群与电信核心参考配置进行比较

在部署了电信核心集群后,您可以使用 cluster-compare 插件评估集群与电信核心参考设计规格 (RDS) 的合规性。cluster-compare 插件是一个 OpenShift CLI (oc) 插件。该插件使用电信核心参考配置来验证具有电信 RAN DU 自定义资源(CR)的集群。

电信核心的特定于插件的引用配置打包在带有 Telco 核心 CR 的容器镜像中。

有关 cluster-compare 插件的更多信息,请参阅"了解 cluster-compare 插件"。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 有访问 registry.redhat.io 容器镜像 registry 的凭证。
  • 已安装 cluster-compare 插件。

流程

  1. 运行以下命令,使用凭证登录到容器镜像 registry:

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,从 lecommunications-core-rds-rhel9 容器镜像中提取内容:

    $ mkdir -p ./out
    Copy to Clipboard Toggle word wrap
    $ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out
    Copy to Clipboard Toggle word wrap

    您可以运行以下命令来查看 out/telco-core-rds/configuration/reference-crs-kube-compare 目录中的引用配置:

    $ tree -L 2
    Copy to Clipboard Toggle word wrap
  3. 输出示例

    .
    ├── compare_ignore
    ├── comparison-overrides.yaml
    ├── metadata.yaml 
    1
    
    ├── optional 
    2
    
    │   ├── logging
    │   ├── networking
    │   ├── other
    │   └── tuning
    ├── ReferenceVersionCheck.yaml
    ├── required 
    3
    
    │   ├── networking
    │   ├── other
    │   ├── performance
    │   ├── scheduling
    │   └── storage
    ├── unordered_list.tmpl
    └── version_match.tmpl
    Copy to Clipboard Toggle word wrap
    1
    参考配置的配置文件。
    2
    可选模板的目录。
    3
    所需模板的目录。
  4. 运行以下命令,将集群的配置与电信核心参考配置进行比较:

    $ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml
    Copy to Clipboard Toggle word wrap

    输出示例

    W1212 14:13:06.281590   36629 compare.go:425] Reference Contains Templates With Types (kind) Not Supported By Cluster: BFDProfile, BGPAdvertisement, BGPPeer, ClusterLogForwarder, Community, IPAddressPool, MetalLB, MultiNetworkPolicy, NMState, NUMAResourcesOperator, NUMAResourcesScheduler, NodeNetworkConfigurationPolicy, SriovNetwork, SriovNetworkNodePolicy, SriovOperatorConfig, StorageCluster
    
    ...
    
    **********************************
    
    Cluster CR: config.openshift.io/v1_OperatorHub_cluster 
    1
    
    Reference File: required/other/operator-hub.yaml 
    2
    
    Diff Output: diff -u -N /tmp/MERGED-2801470219/config-openshift-io-v1_operatorhub_cluster /tmp/LIVE-2569768241/config-openshift-io-v1_operatorhub_cluster
    --- /tmp/MERGED-2801470219/config-openshift-io-v1_operatorhub_cluster	2024-12-12 14:13:22.898756462 +0000
    +++ /tmp/LIVE-2569768241/config-openshift-io-v1_operatorhub_cluster	2024-12-12 14:13:22.898756462 +0000
    @@ -1,6 +1,6 @@
     apiVersion: config.openshift.io/v1
     kind: OperatorHub
     metadata:
    +  annotations: 
    3
    
    +    include.release.openshift.io/hypershift: "true"
       name: cluster
    -spec:
    -  disableAllDefaultSources: true
    
    **********************************
    
    Summary 
    4
    
    CRs with diffs: 3/4 
    5
    
    CRs in reference missing from the cluster: 22 
    6
    
    other:
      other:
        Missing CRs: 
    7
    
        - optional/other/control-plane-load-kernel-modules.yaml
        - optional/other/worker-load-kernel-modules.yaml
    required-networking:
      networking-root:
        Missing CRs:
        - required/networking/nodeNetworkConfigurationPolicy.yaml
      networking-sriov:
        Missing CRs:
        - required/networking/sriov/sriovNetwork.yaml
        - required/networking/sriov/sriovNetworkNodePolicy.yaml
        - required/networking/sriov/SriovOperatorConfig.yaml
        - required/networking/sriov/SriovSubscription.yaml
        - required/networking/sriov/SriovSubscriptionNS.yaml
        - required/networking/sriov/SriovSubscriptionOperGroup.yaml
    required-other:
      scheduling:
        Missing CRs:
        - required/other/catalog-source.yaml
        - required/other/icsp.yaml
    required-performance:
      performance:
        Missing CRs:
        - required/performance/PerformanceProfile.yaml
    required-scheduling:
      scheduling:
        Missing CRs:
        - required/scheduling/nrop.yaml
        - required/scheduling/NROPSubscription.yaml
        - required/scheduling/NROPSubscriptionNS.yaml
        - required/scheduling/NROPSubscriptionOperGroup.yaml
        - required/scheduling/sched.yaml
    required-storage:
      storage-odf:
        Missing CRs:
        - required/storage/odf-external/01-rook-ceph-external-cluster-details.secret.yaml
        - required/storage/odf-external/02-ocs-external-storagecluster.yaml
        - required/storage/odf-external/odfNS.yaml
        - required/storage/odf-external/odfOperGroup.yaml
        - required/storage/odf-external/odfSubscription.yaml
    No CRs are unmatched to reference CRs 
    8
    
    Metadata Hash: fe41066bac56517be02053d436c815661c9fa35eec5922af25a1be359818f297 
    9
    
    No patched CRs 
    10
    Copy to Clipboard Toggle word wrap

    1
    进行比较的 CR。该插件显示与对应模板不同的所有 CR。
    2
    与 CR 匹配的模板以进行比较。
    3
    Linux diff 格式的输出显示模板和集群 CR 之间的区别。
    4
    在插件报告了每个 CR 的 diffs 行后,还会报告不同内容的概述。
    5
    与相关模块不同的进行比较的 CR 数量。
    6
    在参考配置中存在但在实时集群中缺失的 CR 数量。
    7
    在参考配置中存在但在实时集群中缺失的 CR 列表。
    8
    与参考配置中对应的模板不匹配的 CR。
    9
    用于识别参考配置的元数据哈希。
    10
    进行了补丁的 CR 列表。

3.9.3. 节点配置参考 CR

Expand
表 3.2. 节点配置 CR
组件参考 CR描述选填

其他内核模块

control-plane-load-kernel-modules.yaml

可选。为 control plane 节点配置内核模块。

其他内核模块

sctp_module_mc.yaml

可选。在 worker 节点中载入 SCTP 内核模块。

其他内核模块

worker-load-kernel-modules.yaml

可选。为 worker 节点配置内核模块。

容器挂载命名空间隐藏

mount_namespace_config_master.yaml

配置挂载命名空间,以便在 control plane 节点上的 kubelet 和 CRI-O 之间共享特定容器的挂载。

容器挂载命名空间隐藏

mount_namespace_config_worker.yaml

配置挂载命名空间,以便在 worker 节点上在 kubelet 和 CRI-O 之间共享特定于容器的挂载。

kdump 启用

kdump-master.yaml

在 master 节点上配置 kdump 崩溃报告。

kdump 启用

kdump-worker.yaml

在 worker 节点上配置 kdump 崩溃报告。

3.9.4. 集群基础架构引用 CR

Expand
表 3.3. 集群基础架构 CR
组件参考 CR描述选填

集群日志记录

ClusterLogForwarder.yaml

使用指定服务帐户配置日志转发实例,并验证配置是否有效。

集群日志记录

ClusterLogNS.yaml

配置集群日志记录命名空间。

集群日志记录

ClusterLogOperGroup.yaml

在 openshift-logging 命名空间中创建 Operator 组,允许 Cluster Logging Operator 监视和管理资源。

集群日志记录

ClusterLogServiceAccount.yaml

配置集群日志记录服务帐户。

集群日志记录

ClusterLogServiceAccountAuditBinding.yaml

将 collect-audit-logs 集群角色授予 logs 收集器服务帐户。

集群日志记录

ClusterLogServiceAccountInfrastructureBinding.yaml

允许收集器服务帐户从基础架构资源收集日志。

集群日志记录

ClusterLogSubscription.yaml

使用手动批准为 Cluster Logging Operator 创建订阅资源,以进行安装计划。

断开连接的配置

catalog-source.yaml

定义断开连接的 Red Hat Operator 目录。

断开连接的配置

idms.yaml

为断开连接的 registry 定义已镜像存储库摘要列表。

断开连接的配置

operator-hub.yaml

定义禁用所有默认源的 OperatorHub 配置。

监控和可观察性

monitoring-config-cm.yaml

为 Prometheus 和 Alertmanager 配置存储和保留。

电源管理

PerformanceProfile.yaml

定义性能配置集资源,指定 CPU 隔离、巨页配置和工作负载提示,以便在所选节点上进行性能优化。

3.9.5. 资源调优引用 CR

Expand
表 3.4. 资源调整 CR
组件参考 CR描述选填

系统保留容量

control-plane-system-reserved.yaml

可选。配置 kubelet,为 control plane 节点池启用自动保留资源。

3.9.6. 网络引用 CR

Expand
表 3.5. Networking CR
组件参考 CR描述选填

Baseline

Network.yaml

配置默认集群网络,指定 OVN Kubernetes 设置,如通过主机的路由。它还允许定义额外网络,包括自定义 CNI 配置,并允许在多个网络间对网络策略使用 MultiNetworkPolicy CR。

Baseline

networkAttachmentDefinition.yaml

可选。定义 NetworkAttachmentDefinition 资源,指定网络配置详情,如节点选择器和 CNI 配置。

Load Balancer

addr-pool.yaml

配置 MetalLB,以管理启用了 auto-assign 的 IP 地址池,以便从指定范围内动态分配 IP。

Load Balancer

bfd-profile.yaml

使用自定义间隔、检测倍数和模式配置双向转发检测(BFD),以加快网络故障检测和负载平衡故障转移。

Load Balancer

bgp-advr.yaml

为 MetalLB 定义 BGP 广告资源,指定 IP 地址池如何公告给 BGP 对等点。这可对流量路由和公告进行精细控制。

Load Balancer

bgp-peer.yaml

在 MetalLB 中定义 BGP peer,代表用于动态路由的 BGP 邻居。

Load Balancer

community.yaml

定义一个 MetalLB 社区,将一个或多个 BGP 社区分组到指定资源下。社区可以应用到 BGP 公告,以控制路由策略并更改流量路由。

Load Balancer

metallb.yaml

定义集群中的 MetalLB 资源。

Load Balancer

metallbNS.yaml

定义集群中的 metallb-system 命名空间。

Load Balancer

metallbOperGroup.yaml

为 MetalLB Operator 定义 Operator 组。

Load Balancer

metallbSubscription.yaml

为 MetalLB Operator 创建订阅资源,并带有手动批准的安装计划。

Multus - 用于无根 DPDK pod 的 Tap CNI

mc_rootless_pods_selinux.yaml

配置 MachineConfig 资源,为 worker 节点上的 tap CNI 插件设置 SELinux 布尔值。

NMState Operator

NMState.yaml

定义 NMState Operator 用来管理节点网络配置的 NMState 资源。

NMState Operator

NMStateNS.yaml

创建 NMState Operator 命名空间。

NMState Operator

NMStateOperGroup.yaml

在 openshift-nmstate 命名空间中创建 Operator 组,允许 NMState Operator 监视和管理资源。

NMState Operator

NMStateSubscription.yaml

为 NMState Operator 创建订阅,通过 OLM 管理。

Cluster Network Operator

sriovNetwork.yaml

定义一个 SR-IOV 网络,指定网络功能、IP 地址管理(ipam)和关联的网络命名空间和资源。

Cluster Network Operator

sriovNetworkNodePolicy.yaml

针对特定节点上的 SR-IOV 设备配置网络策略,包括自定义设备选择、VF 分配(numVfs)、特定于节点的设置(nodeSelector)和优先级。

Cluster Network Operator

SriovOperatorConfig.yaml

为 SR-IOV Operator 配置各种设置,包括启用注入程序和 Operator Webhook,禁用 pod 排空,并为配置守护进程定义节点选择器。

Cluster Network Operator

SriovSubscription.yaml

为通过 OLM 管理的 SR-IOV Network Operator 创建订阅。

Cluster Network Operator

SriovSubscriptionNS.yaml

创建 SR-IOV Network Operator 订阅命名空间。

Cluster Network Operator

SriovSubscriptionOperGroup.yaml

为 SR-IOV Network Operator 创建 Operator 组,允许它监视和管理目标命名空间中的资源。

3.9.7. 调度引用 CR

Expand
表 3.6. 调度 CR
组件参考 CR描述选填

NUMA 感知调度程序

nrop.yaml

启用 NUMA Resources Operator,将工作负载与特定的 NUMA 节点配置保持一致。具有多 NUMA 节点的集群是必需的。

NUMA 感知调度程序

NROPSubscription.yaml

为通过 OLM 管理的 NUMA Resources Operator 创建订阅。具有多 NUMA 节点的集群是必需的。

NUMA 感知调度程序

NROPSubscriptionNS.yaml

创建 NUMA Resources Operator 订阅命名空间。具有多 NUMA 节点的集群是必需的。

NUMA 感知调度程序

NROPSubscriptionOperGroup.yaml

在 numaresources-operator 命名空间中创建 Operator 组,允许 NUMA Resources Operator 监视和管理资源。具有多 NUMA 节点的集群是必需的。

NUMA 感知调度程序

sched.yaml

在集群中配置拓扑感知调度程序,该调度程序可以处理 NUMA 感知型节点调度 pod。

NUMA 感知调度程序

Scheduler.yaml

将 control plane 节点配置为工作负载的不可调度。

3.9.8. 存储引用 CR

Expand
表 3.7. Storage CR
组件参考 CR描述选填

外部 ODF 配置

01-rook-ceph-external-cluster-details.secret.yaml

定义包含 openshift-storage 命名空间中的外部 Ceph 集群的 base64 编码配置数据的 Secret 资源。

外部 ODF 配置

02-ocs-external-storagecluster.yaml

定义一个 OpenShift Container Storage (OCS) 存储资源,该资源将集群配置为使用外部存储后端。

外部 ODF 配置

odfNS.yaml

为 OpenShift Data Foundation Operator 创建受监控的 openshift-storage 命名空间。

外部 ODF 配置

odfOperGroup.yaml

在 openshift-storage 命名空间中创建 Operator 组,允许 OpenShift Data Foundation Operator 监视和管理资源。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat