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>
替换为属于您现有部署的环境文件列表。
验证
验证是否启用了多播 snooping。列出北向数据库 Logical_Switch 表。
$ ovn-nbctl list Logical_Switch
输出示例
_uuid : d6a2fbcd-aaa4-4b9e-8274-184238d66a15 other_config : {mcast_flood_unregistered="false", mcast_snoop="true"} ...
网络服务(neutron) igmp_snooping_enable 配置转换为 OVN 北向数据库中 Logical_Switch 表的 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] ...
其他资源
- Component, Plug-In, and Driver Support in Red Hat OpenStack Platform 中的 Neutron
- 自定义 Red Hat OpenStack Platform 部署 指南中的环境文件 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/customizing_your_red_hat_openstack_platform_deployment/assembly_configuring-the-overcloud-with-the-orchestration-service#con_environment-files_understanding-heat-templates
- 在自定义 Red Hat OpenStack Platform 部署 指南中的 overcloud 创建中包括环境文件