您可以在运行 OpenStack Neutron 的节点上使用命令行界面配置 LBaaS。
前提条件
在网络上创建公共子网和路由器。对于 NSX Data Center for vSphere 部署,路由器类型必须为
exclusive。注:可以在租户子网上创建负载平衡器,但是必须为它分配一个浮动 IP 地址。
至少配置一个客户端和两个服务器实例。
过程
- 以
viouser用户身份登录到 OpenStack 管理服务器。 - 以
viouser用户身份登录到控制器节点。 - 加载您的用户帐户的凭据文件。
source user-credentials.rc
- 创建负载平衡器。
neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id
只有指定子网的成员可以添加到 LBaaS 池中。
- 为新负载平衡器创建侦听器。
neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP} --protocol-port port-num --name listener-name - 创建 LBaaS 池。
neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name--lb-algorithm 参数接受以下值。
参数
说明
LEAST_CONNECTIONS新客户端请求将发送到连接数最少的服务器。
ROUND_ROBIN根据每个服务器分配到的权重,依次使用各服务器。
SOURCE_IP所有源自相同源 IP 地址的连接由同一个池成员处理。
- 将至少两个服务器实例添加到创建的 LBaaS 池中。
neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
- 设置运行状况监控。
neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name参数
说明
--delay
输入将探查发送给成员之间的时间(以秒为单位)。
--type
指定 HTTP、TCP 或 PING。
--max-retries
输入将成员状态更改为
INACTIVE之前允许的失败连接次数。--timeout
输入监控器在超时之前等待建立连接的时间(以秒为单位)。
超时值必须小于延迟值。
--pool
指定您创建的 LBaaS 池。
- 如果在租户子网上创建了负载平衡器,请将一个浮动 IP 地址与负载平衡器相关联。
- (可选) 发送测试请求以验证 LBaaS 配置。
- 以
viouser用户身份登录到 OpenStack 管理服务器。 - 创建测试 index.html 文件。
- 在同一个目录中启动 Web 服务器。
sudo python -m SimpleHTTPServer 80
- 登录到客户端实例。
- 运行 wget 命令,查看请求是否正在池中的服务器之间正确进行负载平衡。
wget -O - http://mgmt-server-ip
- 以