documentation.suse.com / SUSE Edge 文档 / SUSE Telco Cloud 文档 / 要求和假设

40 要求和假设

40.1 硬件

SUSE Telco Cloud 的硬件要求如下:

  • 管理群集:管理群集包含 SUSE Linux MicroRKE2SUSERancher PrimeMetal3 等组件,用于管理多个下游群集。服务器的硬件要求可能会因所要管理的下游群集数量而有所不同。

    • 服务器(VM裸机)的最低要求如下:

      • RAM:至少 8 GB(建议至少提供 16 GB)

      • CPU:至少 2 个(建议至少提供 4 个 CPU)

  • 下游群集:下游群集是用于运行电信工作负载的群集。需要满足特定的要求才能启用 SR-IOVCPU 性能优化等特定电信功能。

    • SR-IOV:要以直通模式将 VF(虚拟功能)附加到 CNF/VNF,NIC 必须支持 SR-IOV,并且必须在 BIOS 中启用 VT-d/AMD-Vi。

    • CPU 处理器:要运行特定的电信工作负载,应该适配 CPU 处理器型号,以启用此参考表格(第 42 章 “电信功能配置)中所述的大多数功能。

    • 使用虚拟媒体进行安装所要满足的固件要求:

      服务器硬件BMC 型号管理

      Dell 硬件

      第 15 代

      iDRAC9

      Supermicro 硬件

      01.00.25

      Supermicro SMC - redfish

      HPE 硬件

      1.50

      iLO6

40.2 网络

下图显示了电信环境的典型网络体系结构作为参考:

ATIP 产品要求 1

网络体系结构基于以下组件:

  • 管理网络:此网络用于管理下游群集节点。它用于进行带外管理。通常,此网络还会连接到独立的管理交换机,不过可以通过 VLAN 连接到同一服务交换机以隔离流量。

  • 控制平面网络:此网络用于下游群集节点与其上运行的服务之间的通信。此网络还用于这些节点与外部服务(例如 DHCPDNS 服务器)之间的通信。在某些情况下,对于联网环境,交换机/路由器可以通过互联网处理流量。

  • 其他网络:在某些情况下,这些节点可以连接到其他网络以满足特定目的。

注意
注意

要使用定向网络置备工作流程,管理群集必须与下游群集服务器基板管理控制器 (BMC) 建立网络连接,以便可以自动准备和置备主机。

40.3 端口要求

要使 SUSE Telco Cloud 部署正常运行,Kubernetes 管理群集和下游群集节点上需要开放多个可访问的端口。

注意
注意

具体端口列表取决于部署的可选组件和所选的部署选项(如 CNI 插件)。

40.3.1 管理节点

下表列出了运行管理群集的节点上开放的端口:

注意
注意

有关 CNI 插件相关端口,请参见 CNI 特有的端口要求(第 40.3.3 节 “CNI 特有的端口要求”)。

表 40.1︰ 管理节点的入站网络规则
协议端口来源说明

TCP

22

需要 SSH 访问权限的任何来源

对管理群集节点的 SSH 访问权限

TCP

80

执行外部 TLS 终止的负载平衡器/代理

使用外部 TLS 终止时的 Rancher UI/API

TCP

443

需要通过 TLS 访问 Rancher UI/API 的任何来源

Rancher 代理、Rancher UI/API

TCP

2379

RKE2(管理群集)服务器节点

etcd 客户端端口

TCP

2380

RKE2(管理群集)服务器节点

etcd 对等端口

TCP

6180

之前 Metal3/ironic 指示从该公开端口(非 TLS)拉取 IPA(2) 内存盘映像的任何 BMC(1)

Ironic httpd 非 TLS Web 服务器,用于提供 IPA(2) ISO 映像,供基于虚拟媒体的引导使用。

如果启用此端口,则不会开放功能等效但支持 TLS 的端口(请参见下文)

TCP

6185

之前 Metal3/ironic 指示从该公开端口 (TLS) 拉取 IPA(2) 内存盘映像的任何 BMC(1)

支持 httpd TLS 的 Ironic Web 服务器,用于提供 IPA(2) ISO 映像,供基于虚拟媒体的引导使用。

如果启用此端口,则不会开放功能等效但不支持 TLS 的端口(请参见上文)

TCP

6385

在“已注册”BareMetalHost 实例中部署并运行的任何 Metal3/ironic IPA(1) 内存盘映像

Ironic API

TCP

6443

任何管理群集节点;任何(管理群集外部的)Kubernetes 客户端

Kubernetes API

TCP

6545

任何管理群集节点

从符合 OCI 标准的仓库 (Hauler) 拉取制品

TCP

9345

RKE2 服务器和代理节点(管理群集)

用于节点注册的 RKE2 监督 API(所有 RKE2 服务器节点上开放的端口)

TCP

10250

任何管理群集节点

kubelet 指标

TCP/UDP/SCTP

30000-32767

通过 spec.type: NodePortspec.type: LoadBalancer Service API 对象访问主网络上所公开服务的任何(管理群集外部的)来源

可用的 NodePort 端口范围

(1) BMC:基板管理控制器
(2) IPA:Ironic Python Agent

40.3.2 下游节点

在 SUSE Telco Cloud 中,任何(下游)服务器要加入运行中的下游 Kubernetes 群集(或自身运行单节点下游 Kubernetes 群集),都必须经历某些 BaremetalHost 置备状态

  • 新声明的下游服务器的基板管理控制器 (BMC) 必须可通过带外网络访问。管理群集上运行的 ironic 服务会指示 BMC 执行初始步骤:

    1. 在 BMC 提供的虚拟媒体中拉取并加载指定的 IPA 内存盘映像。

    2. 启动服务器。

BMC 需公开以下端口(具体端口可能因硬件而异):

表 40.2︰ 基板管理控制器的入站网络规则
协议端口来源说明

TCP

80

Ironic 控制器(来自管理群集)

Redfish API 访问 (HTTP)

TCP

443

Ironic 控制器(来自管理群集)

Redfish API 访问 (HTTPS)

  • 当 BMC 虚拟媒体中加载的 IPA 内存盘映像用于引导下游服务器映像时,将开始硬件检查阶段。下表列出了运行中的 IPA 内存盘映像所公开的端口:

表 40.3︰ 下游节点的入站网络规则 - Metal3/Ironic 置备阶段
协议端口来源说明

TCP

22

需要通过 SSH 访问 IPA 内存盘映像的任何来源

对正在检查的下游群集节点的 SSH 访问权限

TCP

9999

Ironic 控制器(来自管理群集)

针对运行中内存盘映像的 Ironic 命令

  • 当裸机主机完成正确置备并加入下游 Kubernetes 群集后,会公开以下端口:

注意
注意

有关 CNI 插件相关端口,请参见 CNI 特有的端口要求(第 40.3.3 节 “CNI 特有的端口要求”)。

表 40.4︰ 下游节点的入站网络规则
协议端口来源说明

TCP

22

需要 SSH 访问权限的任何来源

对下游群集节点的 SSH 访问权限

TCP

80

执行外部 TLS 终止的负载平衡器/代理

使用外部 TLS 终止时的 Rancher UI/API

TCP

443

需要通过 TLS 访问 Rancher UI/API 的任何来源

Rancher 代理、Rancher UI/API

TCP

2379

RKE2(下游群集)服务器节点

etcd 客户端端口

TCP

2380

RKE2(下游群集)服务器节点

etcd 对等端口

TCP

6443

任何下游群集节点;任何(下游群集外部的)Kubernetes 客户端。

Kubernetes API

TCP

9345

RKE2 服务器和代理节点(下游群集)

用于节点注册的 RKE2 监督 API(所有 RKE2 服务器节点上开放的端口)

TCP

10250

任何下游群集节点

kubelet 指标

TCP

10255

任何下游群集节点

kubelet 只读访问权限

TCP/UDP/SCTP

30000-32767

通过 spec.type: NodePortspec.type: LoadBalancer Service API 对象访问主网络上所公开服务的任何(下游群集外部的)来源

可用的 NodePort 端口范围

40.3.3 CNI 特有的端口要求

每个受支持的 CNI 变体都有其自身的端口要求集。有关详细信息,请参见 RKE2 文档中的 CNI Specific Inbound Network Rules

cilium 设为默认/主 CNI 插件时,如果 cilium-operator 工作负载配置为向其部署所在的 Kubernetes 群集外部公开指标,则会额外公开以下 TCP 端口。这可确保在该 Kubernetes 群集外部运行的外部 Prometheus 服务器实例仍能收集这些指标。

注意
注意

通过 rke2-cilium Helm chart 部署 cilium 时,这是默认选项。

表 40.5︰ 管理/下游节点的入站网络规则 - 启用 cilium-operator 后,外部指标公开
协议端口来源说明

TCP

9963

(Kubernetes 群集外部的)指标收集器

cilium-operator 指标公开

40.4 服务(DHCP、DNS 等)

可能需要使用一些外部服务(例如 DHCPDNS 等),具体取决于部署环境的类型:

  • 联网环境:在这种情况下,节点将连接到互联网(通过路由 L3 协议),外部服务将由客户提供。

  • 离线/隔离环境:在这种情况下,节点未建立互联网 IP 连接,因此需要通过其他服务在本地镜像定向网络置备工作流程所需的内容。

  • 文件服务器:文件服务器用于在执行定向网络置备工作流程期间存储将在下游群集节点上置备的操作系统映像。Metal3 Helm chart 可以部署媒体服务器来存储操作系统映像 — 请查看下文内容(注意),但也可以使用现有的本地 Web 服务器。

40.5 禁用 systemd 服务

对于电信工作负载,必须禁用或正确配置节点上运行的一些服务,以免对节点上运行的工作负载的性能产生任何影响(延迟)。

  • rebootmgr 是当系统中存在未完成的更新时用于配置重引导策略的服务。对于电信工作负载,必须禁用或正确配置 rebootmgr 服务,以免在系统安排了更新时重引导节点,从而避免对节点上运行的服务造成任何影响。

注意
注意

有关 rebootmgr 的详细信息,请参见 rebootmgr GitHub 代码库

运行以下命令来校验使用的策略:

cat /etc/rebootmgr.conf
[rebootmgr]
window-start=03:30
window-duration=1h30m
strategy=best-effort
lock-group=default

可以运行以下命令来禁用 rebootmgr:

sed -i 's/strategy=best-effort/strategy=off/g' /etc/rebootmgr.conf

也可以使用 rebootmgrctl 命令:

rebootmgrctl strategy off
注意
注意

可以使用定向网络置备工作流程来自动完成用于设置 rebootmgr 策略的此项配置。有关详细信息,请参见自动置备文档(第 43 章 “全自动定向网络置备)。

  • transactional-update 是一项允许在系统控制下进行自动更新的服务。对于电信工作负载,必须禁用自动更新,以免对节点上运行的服务产生任何影响。

要禁用自动更新,可以运行:

systemctl --now disable transactional-update.timer
systemctl --now disable transactional-update-cleanup.timer
  • fstrim 是一种允许每周自动剪裁文件系统的服务。对于电信工作负载,必须禁用自动剪裁,以免对节点上运行的服务产生任何影响。

要禁用自动剪裁,可以运行:

systemctl --now disable fstrim.timer