准备 Kube-OVN Underlay 物理网络

Kube-OVN Underlay 传输模式下的容器网络依赖物理网络支持。在部署 Kube-OVN Underlay 网络之前,请与网络管理员协作,提前规划并完成物理网络的相关配置,确保网络连通性。

使用说明

Kube-OVN Underlay 需要部署在多网卡(NIC)环境中,且 Underlay 子网必须独占一块网卡。该网卡上不能承载其他类型的流量,例如 SSH;这类流量应使用其他网卡。

使用前,请确保节点服务器至少具备双网卡环境,并建议网卡速率至少为 10 Gbps 或更高(例如 10 Gbps、25 Gbps、40 Gbps)。

  • 网卡一:具有默认路由、已配置 IP 地址、与外部交换机接口互联且配置为 Access 模式的网卡。

  • 网卡二:没有默认路由且未配置 IP 地址、与外部交换机接口互联且配置为 Trunk 模式的网卡。Underlay 子网仅使用网卡二。

术语说明

VLAN(Virtual Local Area Network)是一种将局域网在逻辑上划分为多个网段(或更小的 LAN)的技术,以便于虚拟工作组之间进行数据交换。

VLAN 技术的出现使管理员能够根据实际应用需求,将同一物理局域网中的不同用户在逻辑上划分到不同的广播域中。每个 VLAN 都由一组具有相似需求的计算机工作站组成,并具备与物理形成的 LAN 相同的属性。由于 VLAN 是逻辑划分而非物理划分,因此同一 VLAN 中的工作站不必局限于同一物理区域,它们可以跨越不同的物理 LAN 段存在。

VLAN 的主要优点包括:

  • 端口隔离。即使在同一交换机上,不同 VLAN 中的端口也无法相互通信。一个物理交换机可以充当多个逻辑交换机。这通常用于控制网络中不同部门和站点之间的相互访问。

  • 网络安全。不同 VLAN 之间不能直接通信,从而消除了广播信息带来的不安全性。VLAN 内的广播和单播流量不会转发到其他 VLAN,有助于控制流量、减少设备投入、简化网络管理并提升网络安全性。

  • 灵活管理。当需要更改用户的网络归属时,无需更换端口或网线,只需更改软件配置即可。

环境要求

在 Underlay 模式下,Kube-OVN 会将物理 NIC 桥接到 OVS,并通过该物理 NIC 直接将报文发送到外部网络。二层/三层转发能力依赖底层网络设备。相应的网关、VLAN 和安全策略需要在底层网络设备上预先配置。

  • 网络配置要求

    • Kube-OVN 在启动容器时会通过 ICMP 协议检查网关连通性;底层网关必须能够响应 ICMP 请求。

    • 对于服务访问流量,Pods 会首先将报文发送到网关,而网关必须具备将报文转发回本地子网的能力。

    • 当交换机或桥开启 Hairpin 功能时,必须关闭 Hairpin。如果使用 VMware 虚拟机环境,请将 VMware 主机上的 Net.ReversePathFwdCheckPromisc 设置为 1,此时无需关闭 Hairpin。

    • 作为桥接的 NIC 不能Linux Bridge

    • NIC 绑定模式支持 Mode 0(balance-rr)、Mode 1(active-backup)、Mode 4(802.3ad)、Mode 6(balance-alb),建议使用 0 或 1。其他绑定模式尚未测试,请谨慎使用。

  • IaaS(虚拟化)层配置要求

    • 对于 OpenStack 虚拟机环境,需要禁用对应网络端口的 PortSecurity

    • 对于 VMware 的 vSwitch 网络,MAC Address ChangesForged TransmitsPromiscuous Mode Operation 都必须设置为 Accept

    • 对于 AWS、GCE 和 Alibaba Cloud 等公有云,由于不支持用户自定义 MAC 地址,无法支持 Underlay 模式网络。

配置示例

本示例中的节点为双网卡物理机器。网卡一是具有默认路由的网卡;网卡二没有默认路由且未配置 IP 地址,仅用于 Underlay 子网。网卡二与外部交换机互联。

  • 在交换机侧,与网卡二相连的接口应配置为 Trunk 模式,以允许相应 VLAN 通过。

  • 在对应的 vlan-interface 接口上配置集群子网的网关地址。如果需要双栈,也可以同时配置 IPv6 网关地址。

  • 如果网关位于防火墙后方,需要允许节点访问 cluster-cidr 网络。

  • 服务器网卡无需额外配置。

交换机配置

配置 VLAN 接口:

#
interface Vlan-interface74
  ip address 192.168.74.254 255.255.255.0   //IPv4 gateway address
  ipv6 address 2074::192:168:74:254/64  //IPv6 gateway address
#

配置与网卡二相连的接口:

#
interface Ten-GigabitEthernet1/0/19
  port link mode bridge
  port link-type trunk  // Configure the interface to Trunk mode
  undo port trunk permit vlan 1
  port trunk permit vlan 74  // Allow the corresponding VLAN to pass through
#

检查网络连通性

测试网卡二是否可以与网关地址通信:

ip link add ens224.74 link ens224 type vlan id 74  // The NIC name is ens224, and the VLAN ID is 74
ip link set ens224.74 up
ip addr add 192.168.74.200/24 dev ens224.74  // Select a test address within the Underlay subnet, here it's 192.168.74.200/24
ping 192.168.74.254  // If able to ping the gateway, it confirms that the physical environment meets deployment requirements
ip addr del 192.168.74.200/24 dev ens224.74  // Delete the test address after testing
ip link del ens224.74  // Delete the sub-interface after testing

平台配置

在左侧导航栏中,点击 Cluster Management > Cluster,然后点击 Create Cluster。关于集群创建路径的选择,请参见 Clusters Overview,容器网络配置如下图所示。

注意:Join 子网在 Underlay 环境中没有实际意义,主要用于后续创建 Overlay 子网,为节点与容器组之间的通信提供所需的 IP 地址范围。