2.5. 规划网络¶
为 Acronis Cyber Infrastructure 建议的网络配置如下所示:
一个绑定连接用于内部管理和存储流量;
一个绑定连接,通过它提供四个 VLAN:
用于 VM 之间的叠加网络流量
用于通过管理面板、SSH 和 SNMP 进行管理
用于外部访问自助服务面板、计算 API 和 VM(及反向操作),以及用于 iSCSI、NFS、S3 和 Backup Gateway 数据的公共导出
用于由第三方备份管理系统提取 VM 备份

2.5.1. 一般网络要求¶
内部存储流量必须独立于其他流量类型。
2.5.2. 网络限制¶
节点由其 IP 地址(不是 FQDN)添加到簇。更改簇中节点的 IP 地址将从簇中删除该节点。如果计划在簇中使用 DHCP,则确保 IP 地址绑定到节点的网络接口的 MAC 地址。
每个节点必须有 Internet 访问,以便安装更新。
默认情况下,MTU 值设置为 1500。有关设置最优 MTU 值的信息,请参阅 步骤 2:配置网络。
需要网络时间同步 (NTP) 以获得正确的统计数据。默认情况下,使用
chronyd
服务启用它。如果想要使用ntpdate
或ntpd
,则首先停止和禁用chronyd
。在安装期间自动指派内部管理流量类型,以后无法在管理面板中更改。
即使在安装期间可以按主机名从 Web 浏览器中访问管理节点,仍需要指定其 IP 地址,而不是主机名。
2.5.3. 每个节点的网络要求和建议¶
节点上的所有网络接口必须连接到不同的子网。网络接口可以是 VLAN 标记的逻辑接口、未标记的绑定或以太网链路。
即使群集节点已配置了必要的
iptables
规则,我们还是建议对不受信任的公共网络(例如 Internet)使用外部防火墙。将在群集节点上打开的端口取决于将在相应节点上运行的服务以及与之关联的流量类型。在群集节点上启用特定服务之前,需要将相应的流量类型指派给该节点连接到的网络。将流量类型指派给网络将在连接到此网络的节点上配置防火墙、在节点网络接口上打开特定端口以及设置必要的
iptables
规则。下表列出了所有必需的端口和与其相关联的服务:
表 2.5.3.1 在群集节点上打开端口¶ 服务
流量类型
端口
说明
Web 控制面板
管理面板*
TCP 8888
对管理面板的外部访问。
自助服务面板
TCP 8800
对自助服务面板的外部访问。
管理
内部管理
任何可用端口
内部簇管理和节点监控数据到管理面板的传输。
元数据服务
存储器
任何可用端口
MDS 服务之间以及与区块服务和客户端的内部通信。
区块服务
任何可用端口
与 MDS 服务和客户端的内部通信。
客户端
任何可用端口
与 MDS 和区块服务的内部通信。
备份网关
ABGW 公共
TCP 44445
使用 Acronis Backup 代理程序和 Acronis Backup Cloud 的外部数据交换。
ABGW 专用
任何可用端口
多个 Backup Gateway 服务之间的内部管理和数据交换。
iSCSI
iSCSI
TCP 3260
使用 iSCSI 访问点的外部数据交换。
S3
S3 公共
TCP 80、443
使用 S3 访问点的外部数据交换。
OSTOR 专用
任何可用端口
多个 S3 服务之间的内部数据交换。
NFS
NFS
TCP/UDP 111、892、2049
使用 NFS 访问点的外部数据交换。
OSTOR 专用
任何可用端口
多个 NFS 服务之间的内部数据交换。
计算
计算 API*
对标准 OpenStack API 端点的外部访问:
TCP 5000
身份 API v3
TCP 6080
noVNC Websocket 代理服务器
TCP 8004
编排服务 API v1
TCP 8041
Gnocchi API(计费计量服务)
TCP 8774
计算 API
TCP 8776
块存储 API v3
TCP 8780
位置 API
TCP 9292
映像服务 API v2
TCP 9313
密钥管理器 API v1
TCP 9513
容器基础架构管理 API(Kubernetes 服务)
TCP 9696
网络连接 API v2
TCP 9888
Octavia API v2(负载均衡器服务)
VM 专用
UDP 4789
专用虚拟网络中 VM 之间的网络流量。
TCP 5900-5999
VNC 中控台流量。
VM 备份
TCP 49300-65535
对 NBD 端点的外部访问。
SSH
SSH
TCP 22
通过 SSH 对节点的远程访问。
SNMP
SNMP*
UDP 161
通过 SNMP 协议对存储簇监控统计资料的外部访问。
* 这些流量类型的端口只能在管理节点上打开。
2.5.4. Kubernetes 网络要求¶
为了能够在计算簇中部署 Kubernetes 簇并使用它们,请确保您的网络配置允许计算服务和 Kubernetes 服务发送以下网络请求:
用于引导公共发现服务中的 etcd 簇的请求(从所有管理节点到 https://discovery.etcd.io,通过公共网络)。
用于获取“kubeconfig”文件的请求(从所有管理节点,通过公共网络):
如果启用了主 VM 的 HA,则将请求发送到与端口 6443 上的 Kubernetes API 关联的负载均衡器 VM 的公共或浮动 IP 地址。
如果禁用了主 VM 的 HA,则请求将发送到端口 6443 上的 Kubernetes 主 VM 的公共或浮动 IP 地址。
来自 Kubernetes 主 VM 的请求通过流量类型为 VM 公共的网络(通过公开可用的 VM 网络接口或启用了 SNAT 的虚拟路由器)发送到计算 API(计算 API 流量类型)。默认情况下,计算 API 通过管理节点的 IP 地址公开(如果启用了高可用性,则公开给其虚拟 IP 地址)。但是,也可以通过 DNS 名称访问计算 API(请参阅 Setting a DNS Name for the Compute API)。
用于更新公共发现服务中 etcd 簇成员状态的请求(从 Kubernetes 主 VM 到 https://discovery.etcd.io,通过流量类型为 VM 公共的网络(通过公开可用的 VM 网络接口或启用了 SNAT 的虚拟路由器))。
用于从公共 Docker Hub 存储库下载容器映像的请求(从 Kubernetes 主 VM 到 https://registry-1.docker.io,通过流量类型为 VM 公共的网络(通过公开可用的 VM 网络接口或启用了 SNAT 的虚拟路由器))。

它还要求在其中创建 Kubernetes 簇的网络与以下默认网络不重叠:
10.100.0.0/24—用于 pod 级网络
10.254.0.0/16—用于分配 Kubernetes 簇 IP 地址,始自
2.5.5. 用于客户端的网络建议¶
下表列出了客户端可以使用指定的网络接口获得的最大网络性能。对客户端的建议是在任意两个簇节点之间使用 10Gbps 网络硬件,以及最大程度地减少网络延迟,尤其是在使用 SSD 磁盘的情况下。
存储网络接口 |
节点最大性能I/O |
VM 最大性能I/O(复制) |
VM 最大性能I/O(擦除编码) |
---|---|---|---|
1 Gbps |
100 MB/s |
100 MB/s |
70 MB/s |
2 x 1 Gbps |
~175 MB/s |
100 MB/s |
~130 MB/s |
3 x 1 Gbps |
~250 MB/s |
100 MB/s |
~180 MB/s |
10 Gbps |
1 GB/s |
1 GB/s |
700 MB/s |
2 x 10 Gbps |
1.75 GB/s |
1 GB/s |
1.3 GB/s |