小編給大家分享一下Docker中Swarm服務(wù)發(fā)現(xiàn)和負載均衡原理分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
站在用戶的角度思考問題,與客戶深入溝通,找到龍游網(wǎng)站設(shè)計與龍游網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋龍游地區(qū)。使用的技術(shù)
docker 使用了 linux 內(nèi)核 iptables 和 ipvs 的功能來實現(xiàn)服務(wù)發(fā)現(xiàn)和負載均衡。
iptables 是 linux 內(nèi)核中可用的包過濾技術(shù),它可用于根據(jù)數(shù)據(jù)包的內(nèi)容進行分類、修改和轉(zhuǎn)發(fā)決策。
ipvs 是 linux 內(nèi)核中可用的傳輸級負載均衡器。
準備工作
swarm 集群: 【manager】node1、【worker】node2
客戶端鏡像: registry.cn-hangzhou.aliyuncs.com/anoy/ubuntu
服務(wù)端鏡像: registry.cn-hangzhou.aliyuncs.com/anoy/vote
如圖所示,我們將在 swarm 集群中部署 “client” 服務(wù) 和 “vote” 服務(wù),其中 “vote” 服務(wù)部署多個副本??蛻舳苏埱?“vote” 服務(wù)時,輸出結(jié)果中包含服務(wù)端的容器 id,這樣就更方便演示網(wǎng)絡(luò)請求。
集群狀態(tài)
docker service create --name vote --network overlay1 --replicas 2 -p 8080:80 registry.cn-hangzhou.aliyuncs.com/anoy/vote
下圖顯示了 sandbox、容器和每個節(jié)點的網(wǎng)絡(luò)之間的映射關(guān)系:
如圖所示,sandbox 和 vote 容器是 "ingress" 網(wǎng)絡(luò)的一部分,它有助于路由網(wǎng)格。client 容器和 vote 容器是 "overlay1" 網(wǎng)絡(luò)的一部分,它有助于內(nèi)部負載均衡。所有容器都是默認 "docker_gwbridge" 網(wǎng)絡(luò)的一部分。
遵循 iptables 中的 nat 規(guī)則顯示,端口 8080 上的主機流量發(fā)送到 node1 里的 sandbox:
1 分享標題:Docker中Swarm服務(wù)發(fā)現(xiàn)和負載均衡原理分析-創(chuàng)新互聯(lián) 文章出自:http://weahome.cn/article/dppdhj.html |