码迷,mamicode.com
首页 > 其他好文 > 详细

Neutron - Lbaas配置

时间:2014-10-05 04:56:48      阅读:896      评论:0      收藏:0      [点我收藏+]

标签:neutron lbaas

lbaas简介

Lbaas 是 load balance as a service , 是neutron提供的网络负载均衡服务,也是以插件形式提供。neutron负载均衡服务支持的软件有:

开源软件:haproxy

商业软件:radware、netscaler、embrane


lbaas配置

neutron-lbaas-agent 我配置在网络节点上,至于配置在控制节点或计算节点上可不可行,有待进一步验证。


我测试的openstack版本是icehouse,系统centos6.5


具体操作步骤:

[root@controller2 ~]# yum install haproxy   # 先安装haproxy包
[root@controller2 ~]# vim /etc/neutron/neutron.conf   # 编辑neutron.conf 在相应的section添加内容如下
[default]
service_plugins = router,lbaas
[service_providers]
service_provider = LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
            
[root@controller2 ~]# egrep -v "^$|^#" /etc/neutron/lbaas_agent.ini  # 编辑lbaas_agent.ini 添加如下内容
[DEFAULT]
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver  # 这里我用的是OVS,如果用的linux bridge,就写成这样interface_driver=neutron.agent.linux.interface.BridgeInterfaceDriver
ovs_use_veth = True 
device_driver = neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
[haproxy]
user_group = nobody  # 注意这里,默认配置是nogroup,centos系统默认是没有nogroup这个组的
[root@controller2 ~]# vim /etc/openstack-dashboard/local_settings # 让dashboard显示load balancers面板,默认不显示
OPENSTACK_NEUTRON_NETWORK = {
    ‘enable_lb‘: True,  # 默认是False
[root@controller2 ~]# for i in {neutron-server,httpd,neutron-lbaas-agent};do service $i restart;done #重启相应服务


lbaas TroubleShooting

重启neutron-server服务报错

[root@controller2 neutron]# less /var/log/neutron/server.log  # 查看neutron-server日志,报错如下
ERROR neutron.services.provider_configuration [-] Driver neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver is not unique across providers


解决:

[root@controller2 neutron]# vim /usr/share/neutron/neutron-dist.conf # 编辑/usr/share/neutron/neutron-dist.conf配置文件
[service_providers]
#service_provider = LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default # 注释掉这里的service_provider
[root@controller2 neutron]# vim /etc/init.d/neutron-server 
prog=neutron
exec="/usr/bin/$prog-server"
configs=(
    "/usr/share/$prog/$prog-dist.conf" \  # 这里看到了吧,/usr/share/neutron/neutron-dist.conf配置文件也被neutron-server加载了,重复加载了lbaas的service_provider,所以报错了
    "/etc/$prog/$prog.conf"     "/etc/$prog/plugin.ini" )


lbaas使用

1 使用admin用户登录,点击左边面板的“负载均衡器”,右边的区域可以看到资源池、成员、监控三个标签页面

bubuko.com,布布扣

这是我公司的horizon二次开发界面,加了一些新功能bubuko.com,布布扣


2 点击右屏幕区域的”新增资源池“,填入相应信息

bubuko.com,布布扣

点击“添加”


3  点击”添加VIP“,填入相应信息

bubuko.com,布布扣


bubuko.com,布布扣

点击”添加“,现在dashbaord还不支持给直接给lb vip绑定一个floating ip


这里创建2台实例来做测试,不多说明,直接附图了

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣


4  设置成员

bubuko.com,布布扣


点击”新增成员“,填入相应信息

bubuko.com,布布扣

点击“添加”


bubuko.com,布布扣


5  设置健康监控,因为haproxy支持后端健康检测

bubuko.com,布布扣

点击“新增监控”


bubuko.com,布布扣

点击“添加”


6  关联“资源池”和“监控”

bubuko.com,布布扣

点击“添加健康监控”


bubuko.com,布布扣

点击“添加”


7  dahboard绑定floating ip和vip

这样就可以通过外部网络来访问vip了 

点击左边面板的“访问&安全”,创建一个floating ip

bubuko.com,布布扣

点击“关联”


bubuko.com,布布扣

点击“关联”


8  验证lbaas

为了体现测试的目的,分别给两台实例首页写入不同的内容,以示区别

bubuko.com,布布扣


bubuko.com,布布扣


随便一台机子测试,因为是roundrobin,所以每次访问都不同

bubuko.com,布布扣


参考链接

https://www.ustack.com/blog/neutron_loadbalance/

http://www.peichao.info/archives/116

本文出自 “the-way-to-cloud” 博客,请务必保留此出处http://iceyao.blog.51cto.com/9426658/1560632

Neutron - Lbaas配置

标签:neutron lbaas

原文地址:http://iceyao.blog.51cto.com/9426658/1560632

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!