4.10. 在 ML2/OVN 部署中启用多播
要支持多播流量,请修改部署的安全配置,以允许多播流量访问多播组中的虚拟机(VM)实例。要防止多播流量激增,请启用 IGMP 侦听。
在将它应用到生产环境之前,测试并了解任何多播侦听配置。错误配置可能会破坏多播或导致不正确的网络行为。
先决条件
- 具有 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
> 替换为作为现有部署一部分的环境文件列表。
验证
验证多播 snooping 是否已启用。列出北向数据库 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_Switch 表的 other_config 列中设置的 mcast_snooping_enable 选项。请注意,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
- 高级 Overcloud 自定义指南中的环境文件。
- 高级 Overcloud 自定义指南中的创建 overcloud 中包括环境文件