Devstack配置负载均衡,负载均衡版本为2
2016-07-19 17:41
323 查看
本文为博主翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou
负载均衡项目在openstack开源之后就一直在开发,早先neutron LBaaS V1的版本已经不在适用,现在使用的是LBaaS V2的版本。 LBaaS V2 API开发参照Octavia。
安装devstack
参照下列配置编辑你的local.conf文件
运行stack.sh然后做完整性检查
在nova中创建两个实例用作测试http服务器
在创建的两个节点上每个节点配置一个简单的web服务器。使用ssh链接到每个实例中(用户名:“cirros”,密码:“cubswin”)
请注意在上面命令行中的“10.0.0.3”和“10.0.0.5”IP地址是你创建出来的两个实例机器的IP地址(这个以实际你创建出来虚机的IP地址为准)。创建出来负载均衡的VIP会在lbass-loadbalancer-create中以vip_address的开头形式报告出来。一个快速检测LB的方法是使用curl指令测试这个LB的IP,这个指令应该会交替的访问实际两个虚机节点的IP地址。(从配置文件中不难看出是使用的round robin轮询方式来访问)
译者注: 在linux中curl是一个利用URL规则在命令行下工作的文件传输工具。
原文地址:http://docs.openstack.org/developer/devstack/guides/devstack-with-lbaas-v2.html
负载均衡项目在openstack开源之后就一直在开发,早先neutron LBaaS V1的版本已经不在适用,现在使用的是LBaaS V2的版本。 LBaaS V2 API开发参照Octavia。
阶段1:创建Devstack + 2个nova实例
首先,创建一个至少8G内存16G磁盘空间的虚拟机,确保虚机更新(原文是: make sure it is updated,译者认为是需要yum update来更新组件。)安装git组件和任何你认为有用的开发组件。安装devstack
git clone https://git.openstack.org/openstack-dev/devstack cd devstack
参照下列配置编辑你的local.conf文件
[[local|localrc]] # Load the external LBaaS plugin. enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas enable_plugin octavia https://git.openstack.org/openstack/octavia # ===== BEGIN localrc ===== DATABASE_PASSWORD=password ADMIN_PASSWORD=password SERVICE_PASSWORD=password RABBIT_PASSWORD=password # Enable Logging LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True LOG_COLOR=True SCREEN_LOGDIR=$DEST/logs # Pre-requisite ENABLED_SERVICES=rabbit,mysql,key # Horizon ENABLED_SERVICES+=,horizon # Nova ENABLED_SERVICES+=,n-api,n-crt,n-cpu,n-cond,n-sch # Glance ENABLED_SERVICES+=,g-api,g-reg # Neutron ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta # Enable LBaaS v2 ENABLED_SERVICES+=,q-lbaasv2 ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api # Cinder ENABLED_SERVICES+=,c-api,c-vol,c-sch # Tempest ENABLED_SERVICES+=,tempest # ===== END localrc =====
运行stack.sh然后做完整性检查
./stack.sh . ./openrc neutron net-list # should show public and private networks
在nova中创建两个实例用作测试http服务器
#create nova instances on private network nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node1 nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node2 nova list # should show the nova instances just created #add secgroup rules to allow ssh etc.. neutron security-group-rule-create default --protocol icmp neutron security-group-rule-create default --protocol tcp --port-range-min 22 --port-range-max 22 neutron security-group-rule-create default --protocol tcp --port-range-min 80 --port-range-max 80
在创建的两个节点上每个节点配置一个简单的web服务器。使用ssh链接到每个实例中(用户名:“cirros”,密码:“cubswin”)
MYIP=$(ifconfig eth0|grep 'inet addr'|awk -F: '{print $2}'| awk '{print $1}') while true; do echo -e "HTTP/1.0 200 OK\r\n\r\nWelcome to $MYIP" | sudo nc -l -p 80 ; done&
阶段2:创建你的负载均衡
neutron lbaas-loadbalancer-create --name lb1 private-subnet neutron lbaas-loadbalancer-show lb1 # Wait for the provisioning_status to be ACTIVE. neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1 sleep 10 # Sleep since LBaaS actions can take a few seconds depending on the environment. neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1 sleep 10 neutron lbaas-member-create --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1 sleep 10 neutron lbaas-member-create --subnet private-subnet --address 10.0.0.5 --protocol-port 80 pool1
请注意在上面命令行中的“10.0.0.3”和“10.0.0.5”IP地址是你创建出来的两个实例机器的IP地址(这个以实际你创建出来虚机的IP地址为准)。创建出来负载均衡的VIP会在lbass-loadbalancer-create中以vip_address的开头形式报告出来。一个快速检测LB的方法是使用curl指令测试这个LB的IP,这个指令应该会交替的访问实际两个虚机节点的IP地址。(从配置文件中不难看出是使用的round robin轮询方式来访问)
译者注: 在linux中curl是一个利用URL规则在命令行下工作的文件传输工具。
原文地址:http://docs.openstack.org/developer/devstack/guides/devstack-with-lbaas-v2.html
相关文章推荐
- openstack kilo-with-dokcer
- 负载均衡技术沙龙1期(关于咱的图片)
- 负载均衡沙龙活动第二期现场问答汇集
- 流量引导:网络世界的负载均衡解密
- 流量引导:网络世界的负载均衡解密
- 什么是OpenStack 开源的云计算管理平台项目
- 浅谈sqlserver的负载均衡问题
- asp.net实现负载均衡
- PHP开发负载均衡指南
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- LVS+Keepalived构建高可用负载均衡(测试篇)
- 简单测试Apache是如何完成负载均衡策略配置
- Apache负载均衡设置方法 mod_proxy使用介绍
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- Shell脚本实现把进程负载均衡到多核CPU中
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- [Oracle] RAC 之 - 负载均衡深入解析
- windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法
- haproxy+keepalived实现高可用负载均衡(理论篇)
- Keepalived+HAProxy实现MySQL高可用负载均衡的配置