Load-Balancing

如何通過命令行從 haproxy 中刪除平衡節點?

  • April 15, 2021

我有 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

要恢復它,請在上面的命令中將禁用替換為啟用。

引用自:https://serverfault.com/questions/249316