×

默认情况下,OVN-Kubernetes 充当 OpenShift Container Platform 集群的容器网络接口 (CNI)。当 OVN-Kubernetes 作为集群的默认 CNI 时,OpenShift Container Platform 管理员或用户可以利用用户定义网络 (UDN)网络附加定义 (NAD)来创建一个或多个默认网络,处理集群的所有普通网络流量。用户定义网络和网络附加定义都可以作为以下网络类型:

  • 主网络:充当 Pod 的主网络。默认情况下,所有流量都通过主网络,除非配置 Pod 路由以通过其他网络发送流量。

  • 次要网络:充当 Pod 的附加非默认网络。次要网络提供专用于特定流量类型或用途的单独接口。只有明确配置为使用次要网络的 Pod 流量才会通过其接口路由。

但是,在集群安装期间,OpenShift Container Platform 管理员可以使用 Multus CNI 插件配置替代的默认次要 Pod 网络。使用 Multus,多个 CNI 插件(例如 ipvlan、macvlan 或网络附加定义)可以一起用作 Pod 的次要网络。

只有当 OVN-Kubernetes 用作 CNI 时,用户定义网络才可用。它们不支持与其他 CNI 一起使用。

您可以根据可用的 CNI 插件定义附加网络,并将这些网络中的一个或多个附加到您的 Pod。根据您的需求,您可以为集群定义多个附加网络。这在您配置提供网络功能(例如交换或路由)的 Pod 时为您提供了灵活性。

有关支持的 CNI 插件的完整列表,请参见“OpenShift Container Platform 中的附加网络”

有关用户定义网络的信息,请参见关于用户定义网络 (UDN)

有关网络附加定义的信息,请参见使用网络附加定义创建主网络

附加网络的使用场景

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

  1. 性能

    流量管理:您可以在两个不同的平面上发送流量,以管理每个平面上的流量。

  2. 安全

    网络隔离:您可以将敏感流量发送到专门用于安全考虑的网络平面,并且可以隔离租户或客户之间不能共享的私有数据。

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

要将附加网络接口附加到 Pod,您必须创建定义如何附加接口的配置。您可以使用UserDefinedNetwork自定义资源 (CR) 或NetworkAttachmentDefinition CR 指定每个接口。这些 CR 中的 CNI 配置定义了如何创建该接口。

有关创建UserDefinedNetwork CR 的更多信息,请参阅关于用户定义的网络

有关创建 NetworkAttachmentDefinition CR 的更多信息,请参阅使用 NetworkAttachmentDefinition 创建主网络

OpenShift Container Platform 中的附加网络

OpenShift Container Platform 提供以下 CNI 插件,用于在您的集群中创建附加网络