为 Kube-OVN Underlay 网络配置 IPv4 多播

本指南介绍如何为 Kube-OVN Underlay 子网中的工作负载启用 IPv4 多播通信。为子网启用 multicast snooping 后,Kube-OVN 会在对应的 OVN 逻辑交换机上配置 multicast snooping 和 multicast querier。

此配置按子网单独生效。它不会在不同的三层网络之间配置 multicast routing,也不会配置特定厂商的物理交换机。

开始之前

请确保满足以下条件:

  • ACP version:4.2
  • 目标子网是一个 Kube-OVN Underlay 子网,且 spec.protocol 设置为 IPv4。IPv6 和双栈子网不在本指南范围内。
  • 物理网络已按照 准备 Kube-OVN Underlay 物理网络 完成准备。
  • 该子网至少有一个可用 IP 地址。启用 multicast snooping 后,Kube-OVN 会为该子网创建一个 multicast querier。该 querier 会使用子网地址池中的一个可用 IP 地址以及一个自动生成的 MAC 地址。
  • 物理网络允许应用所使用的 multicast group 和 IGMP 流量。

如果物理交换机启用了 IGMP snooping,请与网络管理员协作,确认可以在连接集群节点和外部接收端的 VLAN 端口上学习到 multicast 成员关系。不同厂商物理交换机的 querier 和 IGMP snooping 行为可能有所不同。

启用 Multicast Snooping

使用 Web 控制台

  1. 进入 管理员。

  2. 从顶部的 Cluster 下拉列表中选择目标集群。

  3. 在左侧导航栏中,展开 Clusters,然后单击 Resources。

  4. 在资源搜索框中输入 子网。展开 Correlated with Cluster,然后选择 子网 (kubeovn.io)。

  5. 单击目标 Underlay 子网旁边的操作菜单(⋮),然后选择 Update。

  6. 在 spec 中添加 enableMulticastSnoop: true:

    spec:
      enableMulticastSnoop: true
  7. 单击 Update。

对于每个需要承载 multicast 流量的 Underlay 子网,重复上述步骤。

查看配置结果

更新完成后,在 Web 控制台中查看目标子网的 YAML,并验证以下字段:

  • spec.enableMulticastSnoop 为 true,表示已启用 multicast snooping。
  • status.mcastQuerierIP 和 status.mcastQuerierMAC 有值,表示已创建 multicast querier。

如果 querier IP 或 MAC 地址为空,请确保该子网有可用 IP 地址。

关闭 Multicast Snooping

在 Web 控制台中打开目标子网的 YAML,将 spec.enableMulticastSnoop 设置为 false,然后单击 Update。

更新完成后,Kube-OVN 会释放 querier IP 和 MAC 地址,status.mcastQuerierIP 和 status.mcastQuerierMAC 也会变为空。