我已經配置了一個2節點的docker swarm,管理節點pi-manager
和一個工作節點pi-worker
在2個運行Raspbian的Raspberry Pi 3 Model 3 B的堆棧上。我創建了一個圖像,在本地主機上運行helloworld類型的網頁,該網頁還標識運行頁面的容器。例如:docker swarm的負載均衡
從我可以創建服務「flairhello」,然後將其擴展到2個continers泊塢窗管理器節點(我們稱他們爲A和B)。
預期的行爲:
我希望得到的行爲是,當我訪問的每個本地主機,我會得到的網頁顯示該主機上運行的容器ID。例如,如果pi-manager
具有容器A
和pi-worker
具有容器B
。當我訪問localhost地址pi-manager
我期望看到的容器ID爲A
,當我訪問本地主機地址pi-worker
我期望看到的B
的容器ID。這不是正在發生的事情。
當前的行爲:
我遇到的問題是,對於一定的時間,如果我去拜訪在任pi-manager
或pi-worker
本地主機,我引導到容器A
的網頁,然後在接下來的部分時間無論哪個本地主機(pi-manager
或pi-worker
)我訪問我總是定向到Container B
。我想這是Docker swarm的內置負載平衡?
問題:
如何使用負載平衡器來得到我的羣我想要的行爲?
我必須使用哪些工具? Docker組合? Haproxy圖像? (看到這些從閱讀此提到
是否有這個過程的任何好的教程
更新:?!
步驟,我的回答如下,以創建HAProxy的網絡負載平衡器
林開發這個項目作爲一個類的實例,以顯示負載平衡,這樣,當我去到主網頁的流量重定向到兩個不同的容器在'pi-manager'和'pi-worker'上運行。因此,如果刷新頁面,則容器地址不同,您可以說明負載平衡功能。 Nginx或HaProxy可能嗎? Thakk你爲我的例子,我看到它是一個粘性連接它究竟是如何工作? – ob1
你認爲我可以將這個碼頭文件轉換爲ARM架構嗎? – ob1
如果容器上沒有正在運行的Web服務,我仍然會被重定向到運行該服務的節點? – ob1