zoukankan      html  css  js  c++  java
  • Devstack配置负载均衡,负载均衡版本V2

    本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou

    JmilkFan:minxihou的技术博文方向是 算法&Openstack自动化 ,写得很好,值得推荐。 : )

    目录

    本文为博主翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou
    负载均衡项目在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
    
    Welcome 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

  • 相关阅读:
    POJ3233]Matrix Power Series && [HDU1588]Gauss Fibonacci
    [codeforces 508E]Maximum Matching
    [SDOI2011]染色
    [CSU1806]Toll
    [HDU4969]Just a Joke
    [HDU1071]The area
    [HDU1724]Ellipse
    [VIJOS1889]天真的因数分解
    [BZOJ3379] Turning in Homework
    [BZOJ1572] WorkScheduling
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/11825115.html
Copyright © 2011-2022 走看看