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

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

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

該 namespace 對應咱們建立的 pool 「web servers」。
其命名格式爲 qlbaas-< pool ID>。測試

能夠經過 ip a 查看其設置。spa

VIP 172.16.100.11 已經配置在 namespace interface 上。
在 subnet 的 Port 列表中也能夠找到該 interface 的相應配置。server

對於每個 pool,Neutron 都會啓動一個 haproxy 進程提供 load balancering 功能。
經過 ps 命令查找 haproxy 進程:進程

haproxy 配置文件保存在 /opt/stack/data/neutron/lbaas/< pool ID>/conf 中。
查看 「web servers」 的配置內容:ip

能夠看到:
1. frontend 使用的 HTTP 地址爲 VIP:80
2. backend 使用的 HTTP 地址爲 172.16.100.10:80 和 172.16.100.9:80
3. balance 方法爲 roundrobin配置

這些內容與咱們前面的配置一致。float

以上就是 Neutron 實現 LBaaS 的理。
下一節咱們討論如何經過 floating IP 訪問 VIP。方法

相關文章
相關標籤/搜索