4.10. 在 ML2/OVN 部署中启用多播
要支持多播流量,请修改部署的安全配置,以允许多播流量在多播组中到达虚拟机(VM)实例。要防止多播流量丢失,请启用 IGMP snooping。
在将配置应用到生产环境之前,先测试并理解任何多播侦听配置。错误配置可能会破坏多播或导致错误的网络行为。
先决条件
- 使用 ML2/OVN 机制驱动程序的 OpenStack 部署。
流程
配置安全性,以允许多播流量到适当的虚拟机实例。例如,创建一对安全组规则,以允许 IGMP querier 的 IGMP 流量进入和退出虚拟机实例,以及允许多播流量的规则。
示例
安全组 mySG 允许 IGMP 流量输入并退出虚拟机实例。
openstack security group rule create --protocol igmp --ingress mySG openstack security group rule create --protocol igmp --egress mySG
另一个规则允许多播流量到达虚拟机实例。
openstack security group rule create --protocol udp mySG
作为设置安全组规则的替代选择,一些运算符选择选择性地禁用网络上的端口安全性。如果您选择禁用端口安全性,请考虑并计划任何相关的安全风险。
在 undercloud 节点上的环境文件中设置 heat 参数
NeutronEnableIgmpSnooping: True
。例如,将以下行添加到 ovn-extras.yaml。示例
parameter_defaults: NeutronEnableIgmpSnooping: True
将环境文件包含到
openstack overcloud deploy
命令中,以及与您环境相关的其他环境文件,并部署 overcloud。$ openstack overcloud deploy \ --templates \ … -e <other_overcloud_environment_files> \ -e ovn-extras.yaml \ …
将
<other_overcloud_environment_files
> 替换为现有部署一部分的环境文件列表。
验证
验证多播侦听是否已启用。列出北向数据库 Logical_Switch 表。
$ ovn-nbctl list Logical_Switch
输出示例
_uuid : d6a2fbcd-aaa4-4b9e-8274-184238d66a15 other_config : {mcast_flood_unregistered="false", mcast_snoop="true"} ...
Networking Service(neutron)igmp_snooping_enable 配置被转换为 OVN 北向数据库中 logical_config 栏中的 other_config 列中设置的 mcast_snoop 选项。请注意,mcast_flood_unregistered 始终为 "false"。
显示 IGMP 组。
$ ovn-sbctl list IGMP_group
输出示例
_uuid : 2d6cae4c-bd82-4b31-9c63-2d17cbeadc4e address : "225.0.0.120" chassis : 34e25681-f73f-43ac-a3a4-7da2a710ecd3 datapath : eaf0f5cc-a2c8-4c30-8def-2bc1ec9dcabc ports : [5eaf9dd5-eae5-4749-ac60-4c1451901c56, 8a69efc5-38c5-48fb-bbab-30f2bf9b8d45] ...
其他资源
- Red Hat OpenStack Platform 中的组件、插件和驱动程序支持中的 Neutron
- Director 安装和使用指南中的环境文件
- Director 安装和使用指南中的 在 overcloud 创建中包含的环境文件