上一节学习了 Neutron LBaaS 的原理,今天开始实践。首先在配置中启用 LBaaS 服务。
Neutron 通过 lbaas plugin 和 lbaas agent 提供 LBaaS 服务。
lbaas plugin 与 Neutron Server 一起运行在控制节点上。 lbaas agent 运行在网络节点上。 对于我们的实验环境,控制节点和网络节点是一个,都是 devstack-controller。
配置 LBaaS agent
Neutron 配置 LBaaS agent 的地方是 /etc/neutron/services/loadbalancer/haproxy/lbaas_agent.ini。
定义 interface_driver:
interface_driver 的作用是设置 load balancer 的网络接口驱动,可以有两个选项:
Linux Bridge
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
Open vSwitch
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
配置 LBaaS plugin
在 /etc/neutron/neutron.conf 中设置启用 LBaaS plugin
在 /etc/neutron/neutron_lbaas.conf 中设置 service provider
从注释信息可以看到,除了默认的 HAProxy,Neutron 也支持第三方 provider,比如 radware,VMWareEdge 等。
重启 neutron 服务,确保 LBaaS 正常运行。
我们将实践如下 LBaaS 环境。
该环境描述如下: 1. 创建一个 Pool “web servers”。 2. 两个 pool member “WEB1” 和 “WEB2”,均为运行 Ubuntu cloud image 的 instance。 3. load balancer VIP 与 floating IP 关联。 4. 位于外网的 client 通过 floating IP 访问 web server。
下一节开始我们将一步一步实现这个 LBaaS。