久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

docker swarm外部驗證負載均衡時不生效的解決方案

瀏覽:25日期:2024-10-28 11:09:17
問題描述

我在本地創建了3個裝了centos7的虛擬機, 并初始化了swarm集群, 即1個manager節點, 2個worker節點; 三臺機子的ip分別是 192.168.124.8 - (manager節點), 192.168.124.9 - (worker節點), 192.168.124.10 - (worker節點)

[root@localhost ~]# docker node lsID HOSTNAMESTATUS AVAILABILITYMANAGER STATUS ENGINE VERSIONj0f4up8v7epacp3vceby4exsz localhost.localdomain Ready Active 19.03.13qeeqc10gl9e56w61pajjqle08 localhost.localdomain Ready Active 19.03.13r5sg5m9dkwcu76t56hg0vu29t * localhost.localdomain Ready Active Leader 19.03.14

然后我通過下面的命令在swarm集群上起了一個服務

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

直接curl 工作者節點ip:端口 是可以拿到響應的, 但是返回的containerId一直不變, 并且如果直接訪問manager節點的話是拿不到響應的, 似乎是負載均衡沒有生效!

解決

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

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

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

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

到此這篇關于docker swarm外部驗證負載均衡時不生效的文章就介紹到這了,更多相關docker swarm負載均衡內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 曲阜市| 威信县| 前郭尔| 淳化县| 京山县| 定边县| 太原市| 行唐县| 宜兰市| 阿合奇县| 定陶县| 密山市| 花莲市| 重庆市| 河南省| 南宁市| 齐齐哈尔市| 斗六市| 门源| 衡东县| 霍林郭勒市| 酒泉市| 临安市| 巫溪县| 崇文区| 尤溪县| 永川市| 深圳市| 九寨沟县| 满城县| 清镇市| 唐河县| 博白县| 永春县| 香河县| 苗栗县| 团风县| 大洼县| 张家川| 太和县| 桐庐县|