第 26 章 OpenShift SDN 网络插件
26.1. 关于 OpenShift SDN 网络插件
OpenShift SDN 的一部分,OpenShift SDN 是一个网络插件,它使用软件定义型网络 (SDN) 方法来提供一个统一的集群网络,它允许 OpenShift Container Platform 集群间 pod 间的通信。此 pod 网络由 OpenShift SDN 建立和维护,它使用 Open vSwitch (OVS)配置覆盖网络。
对于将--cloud -provider=external 选项设置为
cloud-provider-vsphere
的云控制器管理器(CCM),在具有多个子网的联网环境中存在一个已知问题。
当您将集群从 OpenShift Container Platform 4.12 升级到 OpenShift Container Platform 4.13 时,CCM 会选择一个错误的节点 IP 地址,此操作会在 namespaces/openshift-cloud-controller-manager/pods/vsphere-cloud-controller-manager
日志中生成错误消息。错误消息表示节点 IP 地址和集群中的 vsphere-cloud-controller-manager
pod IP 地址不匹配。
已知问题可能会影响集群升级操作,但您可以在 nodeNetworking.external.networkSubnetCidr
和 nodeNetworking.internal.networkSubnetCidr
中为集群用于其网络要求的 nodeNetworking
对象设置正确的 IP 地址。
26.1.1. OpenShift SDN 网络隔离模式
OpenShift SDN 提供三种 SDN 模式来配置 pod 网络:
-
网络策略模式允许项目管理员使用
NetworkPolicy
对象配置自己的隔离策略。Network policy 是 OpenShift Container Platform 4.13 的默认模式。 - 多租户模式为 Pod 和服务提供项目级别的隔离。来自不同项目的 Pod 不能与不同项目的 Pod 和服务互相发送或接收数据包。您可以针对项目禁用隔离,允许它将网络流量发送到整个集群中的所有 pod 和服务,并从那些 pod 和服务接收网络流量。
- 子网模式提供一个扁平 pod 网络,每个 pod 都可以与所有其他 pod 和服务通信。网络策略模式提供与子网模式相同的功能。
26.1.2. 支持的网络插件功能列表
Red Hat OpenShift Networking 为网络插件(OpenShift SDN 和 OVN-Kubernetes)提供了两个选项,用于网络插件。下表总结了这两个网络插件的当前功能支持:
功能 | OpenShift SDN | OVN-Kubernetes |
---|---|---|
出口 IP | 支持 | 支持 |
出口防火墙 | 支持 | 支持 [1] |
出口路由器 | 支持 | 支持 [2] |
混合网络 | 不支持 | 支持 |
集群内通信的 IPsec 加密 | 不支持 | 支持 |
IPv4 单堆栈 | 支持 | 支持 |
IPv6 单堆栈 | 不支持 | 支持 [3] |
IPv4/IPv6 dual-stack | 不支持 | 支持的 [4] |
IPv6/IPv4 双栈 | 不支持 | 支持 [5] |
Kubernetes 网络策略 | 支持 | 支持 |
Kubernetes 网络策略日志 | 不支持 | 支持 |
硬件卸载 | 不支持 | 支持 |
多播 | 支持 | 支持 |
- 在 OpenShift SDN 中,出口防火墙也称为出口网络策略。这和网络策略出口不同。
- OVN-Kubernetes 的出口路由器仅支持重定向模式。
- 裸机平台上的 IPv6 单堆栈网络。
- 裸机、VMware vSphere 上的 IPv4/IPv6 双栈网络(仅限安装程序置备的基础架构安装)、IBM Power® 和 IBM Z® 平台。在 VMware vSphere 上,存在双栈网络限制。
- 裸机和 IBM Power® 平台上的 IPv6/IPv4 双栈网络。
其他资源
- 有关 VMware vSphere 上双栈网络限制的更多信息,请参阅 可选:使用双栈网络部署。