7.6. 多网络插件(Multus)支持 [技术预览]

默认情况下,Red Hat OpenShift Data Foundation 被配置为使用 Red Hat OpenShift Software Defined Network(SDN)。在这个默认配置中,SDN 会传输以下类型的流量:

  • Pod 到 pod 流量
  • Pod 到 OpenShift Data Foundation 的流量,称为 OpenShift Data Foundation 公共网络流量
  • OpenShift Data Foundation 复制和重新平衡,称为 OpenShift Data Foundation 集群网络流量

但是,OpenShift Data Foundation 4.8 及更新的版本支持作为技术预览使用 Multus 通过隔离不同类型的网络流量来提高安全性和性能。

重要

Multus 支持是一个技术预览功能,它只受支持并在裸机和 VMWare 部署中测试。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

如需更多信息,请参阅技术预览功能支持范围

7.6.1. 了解多网络

在 Kubernetes 中,容器联网由实现了 Container Network Interface (CNI) 的网络插件负责。

OpenShift Container Platform 使用 Multus CNI 插件来实现对 CNI 插件的链接。在集群安装过程中,您要配置 default pod 网络。默认网络处理集群中的所有一般网络流量。您可以基于可用的 CNI 插件定义额外网络,并将一个或多个这种网络附加到 pod。您可以根据需要为集群定义多个额外网络。这可让您灵活地配置提供交换或路由等网络功能的 pod。

7.6.1.1. 额外网络使用场景

您可以在需要网络隔离的情况下使用额外网络,包括分离数据平面与控制平面。隔离网络流量对以下性能和安全性原因很有用:

性能
您可以在两个不同的平面上发送流量,以管理每个平面上流量的多少。
安全性
您可以将敏感的流量发送到专为安全考虑而管理的网络平面,也可隔离不能在租户或客户间共享的私密数据。

集群中的所有 pod 仍然使用集群范围的默认网络,以维持整个集群中的连通性。每个 pod 都有一个 eth0 接口,附加到集群范围的 pod 网络。您可以使用 oc exec -it <pod_name> -- ip a 命令来查看 pod 的接口。如果您添加使用 Multus CNI 的额外网络接口,则名称为 net1net2、…​、netN

要将额外网络接口附加到 pod,您必须创建配置来定义接口的附加方式。您可以使用 NetworkAttachmentDefinition 自定义资源(CR)来指定各个接口。各个 CR 中的 CNI 配置定义如何创建该接口。