准备 Kube-OVN Underlay 物理网络

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

使用说明

Kube-OVN Underlay 要求使用多块网络接口卡(NIC)进行部署,且 Underlay 子网必须专用一块 NIC。该 NIC 上不应承载 SSH 等其他类型的流量;这些流量应使用其他 NIC。

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

  • NIC One:配置默认路由并设置 IP 地址的 NIC,与外部交换机接口互连,该接口设置为 Access 模式。

  • NIC Two:未配置默认路由且未设置 IP 地址的 NIC,与外部交换机接口互连,该接口设置为 Trunk 模式。Underlay 子网专用 NIC Two。

术语说明

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

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

VLAN 的主要优势包括:

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

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

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

环境要求

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

  • 网络配置要求

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

    • 对于服务访问流量,Pod 会先将数据包发送到网关,网关必须具备将数据包转发回本地子网的能力。

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

    • 桥接 NIC 不能是 Linux Bridge。

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

    • 如果工作负载需要 IPv4 多播通信,则物理网络必须允许所需的 IPv4 多播组和 IGMP 流量。有关配置详情,请参阅为 Kube-OVN Underlay 网络配置 IPv4 多播。

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

    • 对于 OpenStack VM 环境,需要禁用相应网络端口的 PortSecurity。

    • 对于 VMware 的 vSwitch 网络,MAC Address Changes、Forged Transmits 和 Promiscuous Mode Operation 都必须设置为 Accept。

    • 对于 AWS、GCE 和 Alibaba Cloud 等公有云,由于不具备用户自定义 MAC 地址的能力,因此不支持 Underlay 模式网络。

配置示例

本示例中的节点是双 NIC 物理机。NIC One 是配置默认路由的 NIC;NIC Two 是未配置默认路由且未设置 IP 地址的 NIC,专用于 Underlay 子网。NIC Two 与外部交换机互连。

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

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

  • 如果网关位于防火墙之后,则必须允许从节点到 cluster-cidr 网络的访问。

  • 无需配置服务器 NIC。

交换机配置

配置 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
#

配置与 NIC Two 连接的接口:

#
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
#

检查网络连通性

测试 NIC Two 是否可以与网关地址通信:

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

平台配置

在左侧导航栏中,单击集群管理 > 集群,然后单击创建集群。有关集群创建路径选择,请参阅集群概览,容器网络配置如下图所示。

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