天天看點

LBaaS 實作機制 - 每天5分鐘玩轉 OpenStack(125)

上一節我們已經配置并測試 LBaaS,今天重點分析 Neutron 是如何用 Haproxy 來實作負責均衡的。

在控制節點上運作 ip netns,我們發現 Neutron 建立了新的 namespace qlbaas-xxx。

該 namespace 對應我們建立的 pool “web servers”。 

其命名格式為 qlbaas-< pool ID>。

可以通過 ip a 檢視其設定。

VIP 172.16.100.11 已經配置在 namespace interface 上。 

在 subnet 的 Port 清單中也可以找到該 interface 的相應配置。

對于每一個 pool,Neutron 都會啟動一個 haproxy 程序提供 load balancering 功能。 

通過 ps 指令查找 haproxy 程序:

haproxy 配置檔案儲存在 /opt/stack/data/neutron/lbaas/< pool ID>/conf 中。 

檢視 “web servers” 的配置内容:

可以看到: 

1. frontend 使用的 HTTP 位址為 VIP:80 

2. backend 使用的 HTTP 位址為 172.16.100.10:80 和 172.16.100.9:80 

3. balance 方法為 roundrobin

這些内容與我們前面的配置一緻。

以上就是 Neutron 實作 LBaaS 的理。

下一節我們讨論如何通過 floating IP 通路 VIP。

本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1882468

繼續閱讀