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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM