您可以在运行 OpenStack Neutron 的节点上使用命令行界面配置 LBaaS。
过程
- 以
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 | TERMINATED_HTTPS} --protocol-port port-num --name listener-name [--default-tls-container=nsxt-cert-uuid]
如果指定 TERMINATED_HTTPS 作为协议,那么还必须提供 NSX-T Data Center 服务器证书的 ID。
- 创建 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 命令,查看请求是否正在池中的服务器之间正确进行负载平衡。