1. 程式人生 > >每天5分鐘玩轉 OpenStack(121)

每天5分鐘玩轉 OpenStack(121)

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