40 要求和假设 #
40.1 硬件 #
SUSE Telco Cloud 的硬件要求如下:
管理群集:管理群集包含
SUSE Linux Micro、RKE2、SUSERancher Prime、Metal3等组件,用于管理多个下游群集。服务器的硬件要求可能会因所要管理的下游群集数量而有所不同。服务器(
VM或裸机)的最低要求如下:RAM:至少 8 GB(建议至少提供 16 GB)
CPU:至少 2 个(建议至少提供 4 个 CPU)
下游群集:下游群集是用于运行电信工作负载的群集。需要满足特定的要求才能启用
SR-IOV、CPU 性能优化等特定电信功能。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 网络 #
下图显示了电信环境的典型网络体系结构作为参考:
网络体系结构基于以下组件:
管理网络:此网络用于管理下游群集节点。它用于进行带外管理。通常,此网络还会连接到独立的管理交换机,不过可以通过 VLAN 连接到同一服务交换机以隔离流量。
控制平面网络:此网络用于下游群集节点与其上运行的服务之间的通信。此网络还用于这些节点与外部服务(例如
DHCP或DNS服务器)之间的通信。在某些情况下,对于联网环境,交换机/路由器可以通过互联网处理流量。其他网络:在某些情况下,这些节点可以连接到其他网络以满足特定目的。
要使用定向网络置备工作流程,管理群集必须与下游群集服务器基板管理控制器 (BMC) 建立网络连接,以便可以自动准备和置备主机。
40.3 端口要求 #
要使 SUSE Telco Cloud 部署正常运行,Kubernetes 管理群集和下游群集节点上需要开放多个可访问的端口。
具体端口列表取决于部署的可选组件和所选的部署选项(如 CNI 插件)。
40.3.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(管理群集)服务器节点 |
|
TCP | 2380 | RKE2(管理群集)服务器节点 |
|
TCP | 6180 | 之前 |
|
TCP | 6185 | 之前 | 支持 httpd TLS 的 |
TCP | 6385 | 在“已注册” | Ironic API |
TCP | 6443 | 任何管理群集节点;任何(管理群集外部的)Kubernetes 客户端 | Kubernetes API |
TCP | 6545 | 任何管理群集节点 | 从符合 OCI 标准的仓库 (Hauler) 拉取制品 |
TCP | 9345 | RKE2 服务器和代理节点(管理群集) | 用于节点注册的 RKE2 监督 API(所有 RKE2 服务器节点上开放的端口) |
TCP | 10250 | 任何管理群集节点 |
|
TCP/UDP/SCTP | 30000-32767 | 通过 | 可用的 |
(1) BMC:基板管理控制器
(2) IPA:Ironic Python Agent
40.3.2 下游节点 #
在 SUSE Telco Cloud 中,任何(下游)服务器要加入运行中的下游 Kubernetes 群集(或自身运行单节点下游 Kubernetes 群集),都必须经历某些 BaremetalHost 置备状态。
新声明的下游服务器的基板管理控制器 (BMC) 必须可通过带外网络访问。管理群集上运行的 ironic 服务会指示 BMC 执行初始步骤:
在 BMC 提供的
虚拟媒体中拉取并加载指定的 IPA 内存盘映像。启动服务器。
BMC 需公开以下端口(具体端口可能因硬件而异):
| 协议 | 端口 | 来源 | 说明 |
|---|---|---|---|
TCP | 80 | Ironic 控制器(来自管理群集) | Redfish API 访问 (HTTP) |
TCP | 443 | Ironic 控制器(来自管理群集) | Redfish API 访问 (HTTPS) |
当 BMC
虚拟媒体中加载的 IPA 内存盘映像用于引导下游服务器映像时,将开始硬件检查阶段。下表列出了运行中的 IPA 内存盘映像所公开的端口:
Metal3/Ironic
置备阶段 #| 协议 | 端口 | 来源 | 说明 |
|---|---|---|---|
TCP | 22 | 需要通过 SSH 访问 IPA 内存盘映像的任何来源 | 对正在检查的下游群集节点的 SSH 访问权限 |
TCP | 9999 | Ironic 控制器(来自管理群集) | 针对运行中内存盘映像的 Ironic 命令 |
当裸机主机完成正确置备并加入下游 Kubernetes 群集后,会公开以下端口:
| 协议 | 端口 | 来源 | 说明 |
|---|---|---|---|
TCP | 22 | 需要 SSH 访问权限的任何来源 | 对下游群集节点的 SSH 访问权限 |
TCP | 80 | 执行外部 TLS 终止的负载平衡器/代理 | 使用外部 TLS 终止时的 Rancher UI/API |
TCP | 443 | 需要通过 TLS 访问 Rancher UI/API 的任何来源 | Rancher 代理、Rancher UI/API |
TCP | 2379 | RKE2(下游群集)服务器节点 |
|
TCP | 2380 | RKE2(下游群集)服务器节点 |
|
TCP | 6443 | 任何下游群集节点;任何(下游群集外部的)Kubernetes 客户端。 | Kubernetes API |
TCP | 9345 | RKE2 服务器和代理节点(下游群集) | 用于节点注册的 RKE2 监督 API(所有 RKE2 服务器节点上开放的端口) |
TCP | 10250 | 任何下游群集节点 |
|
TCP | 10255 | 任何下游群集节点 |
|
TCP/UDP/SCTP | 30000-32767 | 通过 | 可用的 |
40.3.3 CNI 特有的端口要求 #
每个受支持的 CNI 变体都有其自身的端口要求集。有关详细信息,请参见 RKE2 文档中的 CNI Specific Inbound Network Rules。
当 cilium 设为默认/主 CNI 插件时,如果
cilium-operator 工作负载配置为向其部署所在的 Kubernetes
群集外部公开指标,则会额外公开以下 TCP 端口。这可确保在该 Kubernetes 群集外部运行的外部
Prometheus 服务器实例仍能收集这些指标。
通过 rke2-cilium Helm chart 部署 cilium 时,这是默认选项。
cilium-operator 后,外部指标公开 #| 协议 | 端口 | 来源 | 说明 |
|---|---|---|---|
TCP | 9963 | (Kubernetes 群集外部的)指标收集器 | cilium-operator 指标公开 |
40.4 服务(DHCP、DNS 等) #
可能需要使用一些外部服务(例如 DHCP、DNS
等),具体取决于部署环境的类型:
联网环境:在这种情况下,节点将连接到互联网(通过路由 L3 协议),外部服务将由客户提供。
离线/隔离环境:在这种情况下,节点未建立互联网 IP 连接,因此需要通过其他服务在本地镜像定向网络置备工作流程所需的内容。
文件服务器:文件服务器用于在执行定向网络置备工作流程期间存储将在下游群集节点上置备的操作系统映像。
Metal3Helm chart 可以部署媒体服务器来存储操作系统映像 — 请查看下文内容(注意),但也可以使用现有的本地 Web 服务器。
40.5 禁用 systemd 服务 #
对于电信工作负载,必须禁用或正确配置节点上运行的一些服务,以免对节点上运行的工作负载的性能产生任何影响(延迟)。
rebootmgr是当系统中存在未完成的更新时用于配置重引导策略的服务。对于电信工作负载,必须禁用或正确配置rebootmgr服务,以免在系统安排了更新时重引导节点,从而避免对节点上运行的服务造成任何影响。
运行以下命令来校验使用的策略:
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 offtransactional-update是一项允许在系统控制下进行自动更新的服务。对于电信工作负载,必须禁用自动更新,以免对节点上运行的服务产生任何影响。
要禁用自动更新,可以运行:
systemctl --now disable transactional-update.timer
systemctl --now disable transactional-update-cleanup.timerfstrim是一种允许每周自动剪裁文件系统的服务。对于电信工作负载,必须禁用自动剪裁,以免对节点上运行的服务产生任何影响。
要禁用自动剪裁,可以运行:
systemctl --now disable fstrim.timer