Load-Balancing
如何通過命令行從 haproxy 中刪除平衡節點?
我有 haproxy 作為我的負載平衡器執行,並且從 haproxy 附帶的統計 Web 界面中,我可以將 Web 伺服器置於維護模式(並再次將其恢復) - 這太棒了!
但是,我還希望能夠從命令行執行相同的操作(用於某些自動部署工作流)。這可能嗎,如果可以,怎麼辦?
非常感謝
更新(2012 年 8 月 28 日):我現在傾向於使用haproxyctl,它使用下面描述的方法。
經過更多研究後,我已經修復了它,對於其他有同樣問題的人:-
您可以在配置中添加一個 unix 套接字,然後與之互動(這裡是可能的命令)。
建立:
sudo nano /etc/haproxy/haproxy.cfg
在您的“全球”部分添加:
stats socket /etc/haproxy/haproxysock level admin
重啟你的 haproxy 守護程序(例如
sudo service haproxy restart
)現在你需要 socat(如果你沒有,就
apt-get install socat
在 Ubuntu 上)。現在你需要做的就是觸發這個命令來關閉一個節點:
echo "disable server yourbackendname/yourservername" | socat stdio /etc/haproxy/haproxysock
要恢復它,請在上面的命令中將禁用替換為啟用。