Neutron - DVR配置

DVR介绍

后续补充,我还没完全搞明白原理

DVR配置

这里说明一下,我的controller node和network node在同一台机器上

controller节点
[[email protected] ~(keystone_admin)]# vim /etc/neutron/neutron.conf  # 添加如下配置选项
router_distributed = True

[[email protected] ~(keystone_admin)]# vim /etc/neutron/plugins/ml2/ml2_conf.ini   # 网络采用ml2+vxlan,配置如下
[ml2]
type_drivers = flat,vxlan,vlan,gre
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
[ml2_type_flat]
[ml2_type_vlan]
[ml2_type_gre]
[ml2_type_vxlan]
vni_ranges = 1:1000
vxlan_group = 239.1.1.1
[agent]
l2_population = True
tunnel_types = vxlan
enable_distributed_routing = True
[ovs]
enable_tunneling = True
tunnel_type = vxlan
integration_bridge = br-int
local_ip = 10.0.0.162
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
enable_ipset = True

[[email protected] ~(keystone_admin)]# vim /etc/neutron/l3_agent.ini 
[DEFAULT]
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
ovs_use_veth = True
use_namespaces = True
external_network_bridge = br-ex
router_delete_namespaces = True
agent_mode = dvr_snat             # 虚拟机snat上外网走network node 的L3
compute节点
[[email protected] ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini   # 网络采用ml2+vxlan,配置如下
[ml2]
type_drivers = flat,vxlan,vlan,gre
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
[ml2_type_flat]
[ml2_type_vlan]
[ml2_type_gre]
[ml2_type_vxlan]
vni_ranges = 1:1000
vxlan_group = 239.1.1.1
[agent]
l2_population = True
tunnel_types = vxlan
enable_distributed_routing = True
[ovs]
enable_tunneling = True
tunnel_type = vxlan
integration_bridge = br-int
local_ip=10.0.0.2
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
enable_ipset = True

[[email protected] ~]# vim /etc/neutron/l3_agent.ini  # compute node也要起l3-agent,记住还要add-br br-ex,add-port br-ex eth2这些
[DEFAULT]
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
ovs_use_veth = True
use_namespaces = True
external_network_bridge = br-ex
router_delete_namespaces = True
agent_mode = dvr                     # floating ip直接走compute node的l3 

[[email protected] ~]# vim /etc/neutron/metadata_agent.ini  # compute node也起了l3,所以会有找metadata的问题
[DEFAULT]
auth_url = http://controller-162:35357/v2.0
auth_region = regionOne
admin_tenant_name = service
admin_user = neutron
admin_password = neutron
nova_metadata_ip = controller-162                #  controller node的metadata地址(nova-api接管metadata服务)
metadata_proxy_shared_secret = meta_pass

DVR功能

先来看下controller node的namespace

[[email protected] ~(keystone_admin)]# ip netns
qdhcp-f8876645-352e-48d2-b96c-304cb8de805f
snat-ac4a4d9b-27c7-492b-824a-ae384710ab2a        # 虚拟机上外网专门的snat,单独出来的namespace
qrouter-ac4a4d9b-27c7-492b-824a-ae384710ab2a
[[email protected] ~]# ip netns
qrouter-ac4a4d9b-27c7-492b-824a-ae384710ab2a    #  qrouter-xxxxxxx  跟上面一样的哦,floating ip的dnat规则在这里

# 我在dashboard上面绑定floating ip的时候找不到port,后台命令行可以绑定,不懂是不是bug。
[[email protected] ~(keystone_admin)]# nova floating-ip-associate test-5 172.16.101.2   # 绑定floating ip,出现了下面这个东东
[[email protected] ~]# ip netns
fip-53f6877e-2f46-43e3-93b7-7e22786cacb2    # 暂时还不知道是什么东东,明天再看看

参考链接

https://wiki.openstack.org/wiki/Neutron/DVR/HowTo

https://wiki.openstack.org/wiki/Neutron/DVR#Juno_and_Distributed_Routing

http://www.openstack.cn/p2510.html

时间: 2024-10-11 09:52:34

Neutron - DVR配置的相关文章

Neutron - VPNaas配置

VPNaas简介 VPNass是neutron的vpn服务,目前社区提供了基于openswan实现的IPsec VPN以及基于硬件实现CiscoCsrIPsec VPN VPNaas配置 yum install openstack-neutron-vpn-agent.noarch -y yum install libreswan -y   vim /etc/neutron/neutron.conf   # 添加vpnaas模块 [DEFAULT] service_plugins = router

OpenStack Neutron DVR L2 Agent的初步解析(二)

声明: 本博客欢迎转载,但请保留原作者信息! 作者:林凯 团队:华为杭州OpenStack团队 OpenStack Juno版本已正式发布,这是这个开源云平台的10个版本,在Juno版的Neutron模块中真正引入了分布式路由(DVR)的实现,现在就让我们来初步看下分布式路由是怎么样工作的. 在OpenStack Neutron DVR L2 Agent的初步解析 (一)中我们已经知道DVR是怎么样工作的,现在就我们就来看下具体DVR是怎么样创建起来并且生效进行工作的. L2用Plugin与L3

初探Openstack Neutron DVR

目前在Juno版本的trunk中已经合入了DVR相关的代码,我的理解是在Juno版本中DVR是一个experimental feature.最好需要稳定一个版本以后再上生产环境.之前写过一篇博文是DVR相关的,当时代码还没有实现,与实际的实现有一些出入.当前的DVR的实现是基于VXLAN的.关于VXLAN的优势,有时间会写一些体会,今天暂且不谈. 建议先看一下以下文档,对DVR有一些了解: https://docs.google.com/presentation/d/1ktCLAdglpKdsC

Openstack Neutron DVR workflow

目前在Juno版本的trunk中已经合入了DVR相关的代码,我的理解是在Juno版本中DVR是一个experimental feature.最好需要稳定一个版本以后再上生产环境.之前写过一篇博文是DVR相关的,当时代码还没有实现,与实际的实现有一些出入.当前的DVR的实现是基于VXLAN的.关于VXLAN的优势,有时间会写一些体会,今天暂且不谈. 建议先看一下以下文档,对DVR有一些了解: https://docs.google.com/presentation/d/1ktCLAdglpKdsC

Openstack Neutron DVR

https://blog.csdn.net/matt_mao/article/details/39180135首先看一下,没有使用DVR的问题在哪里: 从图中可以明显看到东西向和南北向的流量会集中到网络节点,这会使网络节点成为瓶颈. 那如果启用的DVR,情况会变成如下: 对于东西向的流量, 流量会直接在计算节点之间传递.对于南北向的流量,如果有floating ip,流量就直接走计算节点.如果没有floating ip,则会走网络节点. 实验环境如下: 然后起了两个私有网络和一个DVR 路由器,

玩转OpenStack网络Neutron(3)--配置多种不同类型网络

欢迎转载,转载请保留原作者信息 欢迎交流学习,共同进步! 作者:颜海峰 个人博客:http://yanheven.github.io 微博:海峰_云计算 http://weibo.com/344736086 Neutron 网络类型介绍 计算节点配置 Load Balance 网络节点配置 Load Balance 配置Neutron 使用 Load Balance Mechanism Driver 配置Neutron 使用 Flat (扁平)网络 命令行创建 Flat (扁平)网络 控制台创建

Neutron - Fwaas配置

Fwaas简介 FWaaS uses iptables to apply firewall policy to all Networking routers within a project.(这些iptables规则存在于router的namespace)FWaaS supports one firewall policy and logical firewall instance per project.(官方介绍,本人翻译水平有限) FWaaS is currently in techni

Neutron - Lbaas配置

lbaas简介 Lbaas 是 load balance as a service , 是neutron提供的网络负载均衡服务,也是以插件形式提供.neutron负载均衡服务支持的软件有: 开源软件:haproxy 商业软件:radware.netscaler.embrane lbaas配置 neutron-lbaas-agent 我配置在网络节点上,至于配置在控制节点或计算节点上可不可行,有待进一步验证. 我测试的openstack版本是icehouse,系统centos6.5 具体操作步骤:

OpenStack Neutron DVR L2 Agent的初步解析 (一)

声明: 本博客欢迎转载,但请保留原作者信息! 作者:林凯 团队:华为杭州OpenStack团队 OpenStack Juno版本已正式发布,这是这个开源云平台的10个版本,在Juno版的Neutron模块中真正引入了分布式路由(DVR)的实现,现在就让我们来初步看下分布式路由是怎么样工作的. 分布式路由怎么工作? 为了实现分布式路由,L3和L2 agent将需要工作在计算节点内.今天,L3 agent运行在网络节点,但DVR提议,L3agent会在计算节点上运行.L2 agent将继续工作在计算