主頁(yè) > 知識(shí)庫(kù) > docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的解決方案

docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的解決方案

熱門標(biāo)簽:400電話辦理介紹信 10086外包用的什么外呼系統(tǒng) 麗江真人語(yǔ)音電話外呼系統(tǒng) 上海申請(qǐng)高400開頭的電話 河南防封號(hào)電銷機(jī)器人是什么 怎么找到?jīng)]有地圖標(biāo)注的店 宿城區(qū)電話機(jī)器人找哪家 福州企業(yè)電銷機(jī)器人排名 打400電話怎么辦理收費(fèi)

問(wèn)題描述

我在本地創(chuàng)建了3個(gè)裝了centos7的虛擬機(jī), 并初始化了swarm集群, 即1個(gè)manager節(jié)點(diǎn), 2個(gè)worker節(jié)點(diǎn); 三臺(tái)機(jī)子的ip分別是 192.168.124.8 - (manager節(jié)點(diǎn)), 192.168.124.9 - (worker節(jié)點(diǎn)), 192.168.124.10 - (worker節(jié)點(diǎn))

[root@localhost ~]# docker node ls
ID                            HOSTNAME                STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
j0f4up8v7epacp3vceby4exsz     localhost.localdomain   Ready               Active                                  19.03.13
qeeqc10gl9e56w61pajjqle08     localhost.localdomain   Ready               Active                                  19.03.13
r5sg5m9dkwcu76t56hg0vu29t *   localhost.localdomain   Ready               Active              Leader              19.03.14

然后我通過(guò)下面的命令在swarm集群上起了一個(gè)服務(wù)

docker service create --name test-vote --replicas 2 --constraint node.role==worker --publish 8080:80  registry.cn-hangzhou.aliyuncs.com/anoy/vote

直接curl 工作者節(jié)點(diǎn)ip:端口 是可以拿到響應(yīng)的, 但是返回的containerId一直不變, 并且如果直接訪問(wèn)manager節(jié)點(diǎn)的話是拿不到響應(yīng)的, 似乎是負(fù)載均衡沒(méi)有生效!

解決

經(jīng)過(guò)一番搜索, 在stack overflow上找到了答案, https://stackoverflow.com/questions/48360577/docker-swarm-mode-routing-mesh-not-working

原來(lái)是防火墻的問(wèn)題, 按照文檔的說(shuō)法, 要讓 swarm mode routing mesh 生效的話, 在初始化swarm集群前必須開放7946tcp/udp端口, 4789udp端口, https://docs.docker.com/engine/swarm/ingress/

所以如果是centos可以用下面的腳本開放端口, swarm集群里的每個(gè)主機(jī)都需要開放, 圖方便這兩個(gè)端口的tcp和udp都開放了; 開放完端口后還需要重啟一下機(jī)器

firewall-cmd --permanent --zone=public --add-port=4789/tcp && \

firewall-cmd --permanent --zone=public --add-port=7946/tcp && \

firewall-cmd --permanent --zone=public --add-port=4789/udp && \

firewall-cmd --permanent --zone=public --add-port=7946/udp  && \

firewall-cmd --reload && \

# 重啟
sudo reboot

到此這篇關(guān)于docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的文章就介紹到這了,更多相關(guān)docker swarm負(fù)載均衡內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:荊門 遵義 運(yùn)城 面試通知 隴南 連云港 朝陽(yáng) 雞西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的解決方案》,本文關(guān)鍵詞  docker,swarm,外部,驗(yàn)證,負(fù)載,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的解決方案》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于docker swarm外部驗(yàn)證負(fù)載均衡時(shí)不生效的解決方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章