安装¶
Networking-bagpipe 安装¶
软件包的安装细节可能取决于您的环境。
如果可能,您应该依赖于您的 Linux 和/或 OpenStack 发行版提供的软件包。
如果您使用 pip,请按照以下步骤安装 networking-bagpipe
确定与您的 Openstack 版本匹配的 networking-bagpipe 包的版本
Liberty: 最新的 3.0.x 版本
Mitaka: 最新的 4.0.x 版本
Newton: 最新的 5.0.x 版本
Ocata: 最新的 6.0.x 版本
Pike: 最新的 7.0.x 版本
Queens: 最新的 8.0.x 版本
指示 pip (a) 安装此确切版本,以及 (b) 考虑依赖项的软件包版本 Openstack 上限约束 (Queens 的示例)
$ pip install -c https://releases.openstack.org/constraints/upper/queens
BaGPipe for Neutron L2¶
在 devstack 测试/开发环境中的安装¶
安装 devstack (无论是稳定版/x 还是 master)
通过将以下内容添加到
local.conf来启用 devstack 插件要使用分支
stable/x(例如 stable/queens)enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git stable/X
要使用开发分支
enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git master
通过将以下内容添加到
local.conf来启用 bagpipe ML2ENABLE_BAGPIPE_L2=True
对于多节点设置,在每个计算节点上配置 BaGPipe-BGP,即您需要每个 BaGPipe-BGP 与 BGP 路由反射器对等
在
local.conf中# IP of your route reflector or BGP router, or fakeRR: BAGPIPE_BGP_PEERS=1.2.3.4
对于两个计算节点,您可以使用 BaGPipe-BGP 中提供的 FakeRR
对于两个以上的计算节点,您可以使用 GoBGP (示例配置) 或商业 E-VPN 实现 (例如参与 EANTC E-VPN 互操作性测试 的供应商)
部署¶
在 Neutron 服务器上,需要执行以下操作,基于 ML2/openvswitch 配置 作为起点
安装
networking-bagpipepython 包 (请参阅 Networking-bagpipe 安装)在 ML2 配置 (
/etc/neutron/plugins/ml2.ini) 中添加
bagpipe机制驱动程序 (除了仍然处理flat和vlan网络的openvswitch驱动程序)在 Queens 发布之前 (即如果 networking-bagpipe < 8) 使用
route_target类型驱动程序作为默认值result
[ml2] # tenant_network_types = route_target # before queens only! mechanism_drivers = openvswitch,bagpipe
您需要部署一个 BGP 路由反射器,它将在计算节点和网络节点之间分发 BGP VPN 路由。此路由反射器需要支持 E-VPN,并且可以选择性地支持 RT 约束。一个选项,在众多选项中,是使用 GoBGP (示例配置)。
在计算节点 (如果有任何网络节点) 上,需要执行以下操作,基于 ML2/openvswitch 配置 作为起点
安装
networking-bagpipepython 包 (请参阅 Networking-bagpipe 安装)配置 Neutron OpenvSwitch 代理以使用 bagpipe
/etc/neutron/plugins/ml2.ini启用
bagpipe代理扩展在 Queens 发布之前 (即如果 networking-bagpipe < 8),禁用 VXLAN
配置用于为租户网络分配 BGP 路由目标的 AS 号和范围
result
[agent] extensions = bagpipe [vxlan] # for a release strictly before OpenStack Queens (networking-bagpipe < 8) # enable_vxlan = False [ml2_bagpipe_extension] as_number = 64512
配置 BaGPipe-BGP
将
local_address设置为计算节点地址 (或其接口之一的名称,例如 ‘eth0’)将路由反射器 IP 添加到
peers选择与您的代理对应的 EVPN 数据平面驱动程序 (
/etc/bagpipe-bgp/bgp.conf)ovs用于 openvswitch 代理
[DATAPLANE_DRIVER_EVPN] dataplane_driver = ovs
BaGPipe for BGPVPN¶
有关如何使用 bagpipe 驱动程序用于 networking-bgpvpn 的信息,请参阅 BGPVPN bagpipe 驱动程序文档。
BaGPipe for networking-sfc¶
要启用 networking-sfc 的 networking-bagpipe 驱动程序的使用,需要执行以下操作
在
/etc/neutron/neutron.conf中启用bagpipe驱动程序,并配置其参数 (请参阅 SFC)[sfc] drivers = bagpipe
BaGPipe-BGP 轻量级 BGP VPN 实现,配置为将
ovs作为 IPVPN 的数据平面驱动程序,并将linux作为 EVPN 的数据平面驱动程序 (/etc/bagpipe-bgp/bgp.conf)[DATAPLANE_DRIVER_IPVPN] dataplane_driver = ovs [DATAPLANE_DRIVER_EVPN] dataplane_driver = linux
在 devstack 中¶
要试验 devstack 中的 sfc 驱动程序,可以将以下内容添加到您的 local.conf 中 (将 stable/X 替换为 stable/queens,例如 Openstack Queens 发布)
enable_plugin networking-sfc https://git.openstack.org/openstack/networking-bagpipe.git # enable_plugin networking-sfc https://git.openstack.org/openstack/networking-bagpipe.git stable/X enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git # enable_plugin networking-bagpipe https://git.openstack.org/openstack/networking-bagpipe.git stable/X BAGPIPE_DATAPLANE_DRIVER_EVPN=linux BAGPIPE_DATAPLANE_DRIVER_IPVPN=ovs [[post-config|$NEUTRON_CONF]] [sfc] drivers = bagpipe [[post-config|/$NEUTRON_CORE_PLUGIN_CONF]] [agent] extensions = bagpipe_sfc