上一節學習了 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。