3.9. 电信核心参考配置 CR
使用以下自定义资源(CR)来使用电信核心配置集配置和部署 OpenShift Container Platform 集群。使用 CR 组成所有特定使用模型中使用的通用基准,除非另有说明。
3.9.1. 提取电信核心引用设计 CR 复制链接链接已复制到粘贴板!
您可以从 telco-core-rds-rhel9 容器镜像中提取电信核心配置集的完整自定义资源(CR)集合。容器镜像具有电信核心配置集所需的 CR 和可选 CR。
先决条件
-
已安装
podman。
流程
运行以下命令,使用凭证登录到容器镜像 registry:
$ podman login registry.redhat.io运行以下命令,从
lecommunications-core-rds-rhel9容器镜像中提取内容:$ mkdir -p ./out$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out
验证
out目录具有以下目录结构:您可以运行以下命令来查看out/telco-core-rds/目录中的电信核心 CR:$ tree -L 4输出示例
. ├── 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
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插件。
流程
运行以下命令,使用凭证登录到容器镜像 registry:
$ podman login registry.redhat.io运行以下命令,从
lecommunications-core-rds-rhel9容器镜像中提取内容:$ mkdir -p ./out$ podman run -it registry.redhat.io/openshift4/openshift-telco-core-rds-rhel9:v4.19 | base64 -d | tar xv -C out您可以运行以下命令来查看
out/telco-core-rds/configuration/reference-crs-kube-compare目录中的引用配置:$ tree -L 2输出示例
. ├── compare_ignore ├── comparison-overrides.yaml ├── metadata.yaml1 ├── optional2 │ ├── logging │ ├── networking │ ├── other │ └── tuning ├── ReferenceVersionCheck.yaml ├── required3 │ ├── networking │ ├── other │ ├── performance │ ├── scheduling │ └── storage ├── unordered_list.tmpl └── version_match.tmpl运行以下命令,将集群的配置与电信核心参考配置进行比较:
$ oc cluster-compare -r out/telco-core-rds/configuration/reference-crs-kube-compare/metadata.yaml输出示例
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_cluster1 Reference File: required/other/operator-hub.yaml2 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 ********************************** Summary4 CRs with diffs: 3/45 CRs in reference missing from the cluster: 226 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 CRs8 Metadata Hash: fe41066bac56517be02053d436c815661c9fa35eec5922af25a1be359818f2979 No patched CRs10
3.9.3. 节点配置参考 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| 其他内核模块 |
| 可选。为 control plane 节点配置内核模块。 | 否 |
| 其他内核模块 |
| 可选。在 worker 节点中载入 SCTP 内核模块。 | 否 |
| 其他内核模块 |
| 可选。为 worker 节点配置内核模块。 | 否 |
| 容器挂载命名空间隐藏 |
| 配置挂载命名空间,以便在 control plane 节点上的 kubelet 和 CRI-O 之间共享特定容器的挂载。 | 否 |
| 容器挂载命名空间隐藏 |
| 配置挂载命名空间,以便在 worker 节点上在 kubelet 和 CRI-O 之间共享特定于容器的挂载。 | 否 |
| kdump 启用 |
| 在 master 节点上配置 kdump 崩溃报告。 | 否 |
| kdump 启用 |
| 在 worker 节点上配置 kdump 崩溃报告。 | 否 |
3.9.4. 集群基础架构引用 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| 集群日志记录 |
| 使用指定服务帐户配置日志转发实例,并验证配置是否有效。 | 是 |
| 集群日志记录 |
| 配置集群日志记录命名空间。 | 是 |
| 集群日志记录 |
| 在 openshift-logging 命名空间中创建 Operator 组,允许 Cluster Logging Operator 监视和管理资源。 | 是 |
| 集群日志记录 |
| 配置集群日志记录服务帐户。 | 是 |
| 集群日志记录 |
| 将 collect-audit-logs 集群角色授予 logs 收集器服务帐户。 | 是 |
| 集群日志记录 |
| 允许收集器服务帐户从基础架构资源收集日志。 | 是 |
| 集群日志记录 |
| 使用手动批准为 Cluster Logging Operator 创建订阅资源,以进行安装计划。 | 是 |
| 断开连接的配置 |
| 定义断开连接的 Red Hat Operator 目录。 | 否 |
| 断开连接的配置 |
| 为断开连接的 registry 定义已镜像存储库摘要列表。 | 否 |
| 断开连接的配置 |
| 定义禁用所有默认源的 OperatorHub 配置。 | 否 |
| 监控和可观察性 |
| 为 Prometheus 和 Alertmanager 配置存储和保留。 | 是 |
| 电源管理 |
| 定义性能配置集资源,指定 CPU 隔离、巨页配置和工作负载提示,以便在所选节点上进行性能优化。 | 否 |
3.9.5. 资源调优引用 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| 系统保留容量 |
| 可选。配置 kubelet,为 control plane 节点池启用自动保留资源。 | 是 |
3.9.6. 网络引用 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| Baseline |
| 配置默认集群网络,指定 OVN Kubernetes 设置,如通过主机的路由。它还允许定义额外网络,包括自定义 CNI 配置,并允许在多个网络间对网络策略使用 MultiNetworkPolicy CR。 | 否 |
| Baseline |
| 可选。定义 NetworkAttachmentDefinition 资源,指定网络配置详情,如节点选择器和 CNI 配置。 | 是 |
| Load Balancer |
| 配置 MetalLB,以管理启用了 auto-assign 的 IP 地址池,以便从指定范围内动态分配 IP。 | 否 |
| Load Balancer |
| 使用自定义间隔、检测倍数和模式配置双向转发检测(BFD),以加快网络故障检测和负载平衡故障转移。 | 否 |
| Load Balancer |
| 为 MetalLB 定义 BGP 广告资源,指定 IP 地址池如何公告给 BGP 对等点。这可对流量路由和公告进行精细控制。 | 否 |
| Load Balancer |
| 在 MetalLB 中定义 BGP peer,代表用于动态路由的 BGP 邻居。 | 否 |
| Load Balancer |
| 定义一个 MetalLB 社区,将一个或多个 BGP 社区分组到指定资源下。社区可以应用到 BGP 公告,以控制路由策略并更改流量路由。 | 是 |
| Load Balancer |
| 定义集群中的 MetalLB 资源。 | 否 |
| Load Balancer |
| 定义集群中的 metallb-system 命名空间。 | 否 |
| Load Balancer |
| 为 MetalLB Operator 定义 Operator 组。 | 否 |
| Load Balancer |
| 为 MetalLB Operator 创建订阅资源,并带有手动批准的安装计划。 | 否 |
| Multus - 用于无根 DPDK pod 的 Tap CNI |
| 配置 MachineConfig 资源,为 worker 节点上的 tap CNI 插件设置 SELinux 布尔值。 | 是 |
| NMState Operator |
| 定义 NMState Operator 用来管理节点网络配置的 NMState 资源。 | 否 |
| NMState Operator |
| 创建 NMState Operator 命名空间。 | 否 |
| NMState Operator |
| 在 openshift-nmstate 命名空间中创建 Operator 组,允许 NMState Operator 监视和管理资源。 | 否 |
| NMState Operator |
| 为 NMState Operator 创建订阅,通过 OLM 管理。 | 否 |
| Cluster Network Operator |
| 定义一个 SR-IOV 网络,指定网络功能、IP 地址管理(ipam)和关联的网络命名空间和资源。 | 否 |
| Cluster Network Operator |
| 针对特定节点上的 SR-IOV 设备配置网络策略,包括自定义设备选择、VF 分配(numVfs)、特定于节点的设置(nodeSelector)和优先级。 | 否 |
| Cluster Network Operator |
| 为 SR-IOV Operator 配置各种设置,包括启用注入程序和 Operator Webhook,禁用 pod 排空,并为配置守护进程定义节点选择器。 | 否 |
| Cluster Network Operator |
| 为通过 OLM 管理的 SR-IOV Network Operator 创建订阅。 | 否 |
| Cluster Network Operator |
| 创建 SR-IOV Network Operator 订阅命名空间。 | 否 |
| Cluster Network Operator |
| 为 SR-IOV Network Operator 创建 Operator 组,允许它监视和管理目标命名空间中的资源。 | 否 |
3.9.7. 调度引用 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| NUMA 感知调度程序 |
| 启用 NUMA Resources Operator,将工作负载与特定的 NUMA 节点配置保持一致。具有多 NUMA 节点的集群是必需的。 | 否 |
| NUMA 感知调度程序 |
| 为通过 OLM 管理的 NUMA Resources Operator 创建订阅。具有多 NUMA 节点的集群是必需的。 | 否 |
| NUMA 感知调度程序 |
| 创建 NUMA Resources Operator 订阅命名空间。具有多 NUMA 节点的集群是必需的。 | 否 |
| NUMA 感知调度程序 |
| 在 numaresources-operator 命名空间中创建 Operator 组,允许 NUMA Resources Operator 监视和管理资源。具有多 NUMA 节点的集群是必需的。 | 否 |
| NUMA 感知调度程序 |
| 在集群中配置拓扑感知调度程序,该调度程序可以处理 NUMA 感知型节点调度 pod。 | 否 |
| NUMA 感知调度程序 |
| 将 control plane 节点配置为工作负载的不可调度。 | 否 |
3.9.8. 存储引用 CR 复制链接链接已复制到粘贴板!
| 组件 | 参考 CR | 描述 | 选填 |
|---|---|---|---|
| 外部 ODF 配置 |
| 定义包含 openshift-storage 命名空间中的外部 Ceph 集群的 base64 编码配置数据的 Secret 资源。 | 否 |
| 外部 ODF 配置 |
| 定义一个 OpenShift Container Storage (OCS) 存储资源,该资源将集群配置为使用外部存储后端。 | 否 |
| 外部 ODF 配置 |
| 为 OpenShift Data Foundation Operator 创建受监控的 openshift-storage 命名空间。 | 否 |
| 外部 ODF 配置 |
| 在 openshift-storage 命名空间中创建 Operator 组,允许 OpenShift Data Foundation Operator 监视和管理资源。 | 否 |