Neutron/DVR/HowTo
完整链接: https://www.youtube.com/watch?v=p4BwAjLHd0M
另请参阅 https://docs.google.com/document/d/1iXMAyVMf42FTahExmGdYNGOBFyeA4e74sAO3pvr_RjA/edit
目录
DVR 待办事项
已准备好并需要代码审查的修复
- https://review.openstack.org/#/c/105855 (实现旧版路由器到分布式的迁移)
基础设施变更
有一个实验性任务,它默认启用 DVR 运行 tempest 测试。作为开发人员/提交者,您可以使用实验性流水线来触发单主机 DVR 支持的 OpenStack 部署以运行 Tempest 测试(通过发布评论“check experimental”)。
我们希望尽快将其转换为非投票项。
在 OpenStack Neutron 中启用分布式虚拟路由功能
此 wiki 提供有关如何在当前的 OpenStack Neutron 实现中配置和部署分布式虚拟路由器功能的说明。
配置
DevStack 支持 DVR(感谢此审查 https://review.openstack.org/#/c/103180/)。要在单节点 DevStack 实例上试用 DVR,只需将 Q_DVR_MODE 设置为“dvr_snat”,然后喝杯咖啡,等待 stack.sh 发挥它的魔力。如果您想自行调整设置,请记住以下几点
- 确保您的数据库处于正确的版本。需要使用 neutron-db-manage 脚本运行许多迁移脚本。
- 确保您的防火墙或安全组允许 UDP 流量通过 vxlan 端口在主机之间传递
- Q_PLUGIN=ml2
- Q_ML2_TENANT_NETWORK_TYPE=vxlan
- Q_DVR_MODE=dvr_snat
Q_DVR_MODE 的值是 disabled、dvr_snat(控制器或单节点)或 dvr(多节点中的计算节点)。
作为参考,以下是所做的设置…
依赖项
- 在初始形式中,DVR 将依赖 ml2/ovs 和 vxlan。
- Q_PLUGIN=ml2
- Q_ML2_TENANT_NETWORK_TYPE=vxlan
- l2pop(见下文)
Neutron.conf
- router_distributed = True
- 这会将新路由器创建的默认值设置为 DVR。
- 管理员用户可以在不将此选项设置为 True 的情况下将现有路由器转换为分布式路由器。
L3 Agent.ini
这些选项在最近的补丁集版本中已更改
- 网络主机(或单节点部署)
- agent_mode = dvr_snat
- 计算主机
- agent_mode = dvr
L2 Agent.ini (ml2_conf.ini)
必须在运行 neutron 服务的每个节点上配置以下选项。
- ml2_conf.ini
- ml2 部分
- 将 ",l2population" 追加到 mechanism_drivers
- agent 部分
- l2_population = True
- tunnel_types = vxlan
- enable_distributed_routing = True
- ml2 部分