5.2. OpenShift SDN
5.2.1. 概述
OpenShift Container Platform 使用软件定义网络 (SDN) 方法来提供一个统一的集群网络,它允许 OpenShift Container Platform 集群中的不同 pod 相互间进行通信。此 pod 网络是由 OpenShift SDN 建立和维护的,它使用 Open vSwitch (OVS) 配置覆盖网络。
OpenShift SDN 提供三个 SDN 插件来配置 pod 网络:
- ovs-subnet 插件是原始插件,它提供了一个 "flat" pod 网络,每个 pod 可以与所有其他 pod 和服务通信。
ovs-multitenant 插件为 pod 和服务提供项目级别的隔离。每个项目收到一个唯一的虚拟网络 ID(VNID),用于标识分配给项目的 pod 的流量。来自不同项目的 Pod 不能与不同项目的 Pod 和服务互相发送或接收数据包。
但是,接收 VNID 0 的项目更为特权,它们被允许与所有其他 pod 通信,所有其他 pod 可以与它们通信。在 OpenShift Container Platform 集群中,default 项目具有 VNID 0。这有助于某些服务(如负载均衡器)与集群中的所有其他 pod 通信,反之亦然。
- ovs-networkpolicy 插件允许项目管理员使用 NetworkPolicy 对象配置自己的隔离策略。
注意
有关在主控机和节点上配置 SDN 的信息,请参见配置 SDN。