8.2. 支持多网络插件 (Multus)
OpenShift Data Foundation 支持在裸机基础架构上使用多网络插件 Multus,通过隔离不同类型的网络流量来提高安全性和性能。通过使用 Multus,主机上一个或多个网络接口可能会保留来独占使用 OpenShift Data Foundation。
要使用 Multus,首先运行 Multus 的先决条件验证工具。有关使用该工具的说明,请参阅 OpenShift Data Foundation - Multus 先决条件验证工具。有关 Multus 网络的更多信息,请参阅 多网络
8.2.1. 使用 Multus 隔离存储流量
默认情况下,Red Hat OpenShift Data Foundation 被配置为使用 Red Hat OpenShift Software Defined Network(SDN)。默认 SDN 执行以下操作类型的流量:
- Pod 到 pod 的流量
- 当存储为 OpenShift Data Foundation 时,pod 到存储的流量,称为公共网络流量
- OpenShift Data Foundation 内部复制和重新平衡流量,称为集群网络流量
可以通过两种方式将 OpenShift Data Foundation 与 OpenShift 默认网络隔离:
为 OpenShift Data Foundation 的公共网络在主机上保留网络接口
- 在与 pod 到 pod 网络流量隔离的网络中,pod 到存储复制流量共存。
- 当 OpenShift Data Foundation 集群健康时,应用程序 pod 可以访问最大公共网络存储带宽。
- 当 OpenShift Data Foundation 集群失败时,应用程序 pod 会因为持续复制和重新平衡流量而减少带宽。
为 OpenShift Data Foundation 的集群网络在主机上保留网络接口
- pod 到 pod 和 pod 到存储的流量都继续使用 OpenShift 的默认网络。
- Pod 到存储带宽会受 OpenShift Data Foundation 集群的健康状态的影响。
- pod 到 pod 和 pod 到存储 OpenShift Data Foundation 流量可能会在忙碌的 OpenShift 集群中满足网络带宽。
- 存储内部网络通常具有过量带宽,这些带宽没有被使用,用于故障期间使用。
在主机上为 OpenShift Data Foundation 保留两个网络接口:一个用于公共网络,一个用于集群网络
- pod 到 pod、pod 到存储内部流量都是隔离的,并且任何流量类型都不会用于资源。
- 所有流量类型的服务级别协议更能保证。
- 在健康运行时,会保留更多网络带宽,但在所有三个网络间保留未使用的网络。
双网络接口隔离配置模式示例:
三网络接口完整隔离的配置模式示例:
8.2.2. 何时使用 Multus
在需要时,将 Multus 用于 OpenShift Data Foundation:
改进了延迟 - ODF 的 Multus 始终提高了延迟。在接近主机网络速度使用主机接口,并绕过 OpenShift 的软件定义 Pod 网络。您还可以对每个接口执行每个接口级别的 Linux 调优。
改进了带宽 - OpenShift Data Foundation 客户端数据流量和内部数据流量的 Dedicated 接口。这些专用接口保留完整带宽。
提高安全性 - Multus 将存储网络流量与应用程序网络流量隔离,以提高安全性。但是,当网络共享接口时,带宽或性能可能无法隔离,但您可以使用 QoS 或流量 shaping 来对共享接口上的带宽进行优先排序。
8.2.3. Multus 配置
要使用 Multus,您必须在部署 OpenShift Data Foundation 集群前创建网络附加定义(NAD),该集群稍后附加到集群。如需更多信息,请参阅 创建网络附加定义。
要将额外网络接口附加到 pod,您必须创建配置来定义接口的附加方式。您可以使用 NetworkAttachmentDefinition
自定义资源(CR)来指定各个接口。每个 CR 中的 Container Network Interface (CNI)配置定义如何创建该接口。
OpenShift Data Foundation 支持两种类型的驱动程序。下表描述了驱动程序及其功能:
|
|
每个连接都会获得具有其自身 MAC 地址的父接口的子接口,并与主机网络隔离。 | 每个连接都有自己的 IP 地址,并共享相同的 MAC 地址。 |
使用较少的 CPU,并提供比 Linux 网桥或 |
|
几乎始终需要网桥模式。 |
|
当网络接口卡(NIC)支持硬件中的虚拟端口/虚拟局域网(VLAN)时,接近主机性能。 |
如果 NIC 不支持硬件中的 VLAN,则性能可能优于 |
OpenShift Data Foundation 支持以下两种类型的 IP 地址管理:
| DHCP |
使用 OpenShift/Kubernetes |
不需要 |
不需要 DHCP 服务器来为 Pod 提供 IP。 | 网络 DHCP 服务器可以为 Multus Pod 以及同一网络上的任何其他主机提供相同的范围。 |
如果存在 DHCP 服务器,请确保配置了 Multus 的 IPAM 不会提供相同的范围,以便网络上的多个 MAC 地址不能具有相同的 IP。
8.2.4. Multus 配置的要求
先决条件
- 用于公共网络的接口必须在每个 OpenShift 存储和 worker 节点上具有相同的接口名称,接口必须全部连接到同一底层网络。
- 用于集群网络的接口必须在每个 OpenShift 存储节点上具有相同的接口名称,接口必须全部连接到同一底层网络。集群网络接口不必存在于 OpenShift worker 节点上。
- 用于公共或集群网络的每个网络接口必须至少有 10 千兆位网络速度。
- 每个网络都需要单独的虚拟局域网(VLAN)或子网。
如需了解配置基于裸机的 Multus 配置所需的步骤,请参阅创建 Multus 网络。