微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

解决云服务器docker swarm节点间无法通信问题

docker aide_941 8℃

解决云服务器docker swarm节点间无法通信问题

原因

如果你的swarm运行在默认端口,那么你就可能和我一样遇到了VXLAN默认端口4789/udp被云服务厂商阻断的问题。比如阿里云在文档中提到了这点,链接->阿里云添加udp监听文档

解决方案

这个问题在docker:v19.03之前无法直接解决。19.03版本,docker在swarm init之上增加了–data-path-port uint32 的配置项用于更改docker swarm的VXLAN 4789端口。
下面以重新指定端口5789/udp为例

sudo docker swarm init --data-path-port 5789
初始化的时候要写全:
docker swarm init --autolock=false --advertise-addr 10.3.18.1 --listen-addr 10.3.18.13:2377 --data-path-port 5789

 

Docker Swarm集群部署防火墙开放端口

Docker版本1.12+

集群节点之间保证TCP 2377、TCP/UDP 7946和UDP 4789端口通信

TCP端口2377集群管理端口

TCP与UDP端口7946节点之间通讯端口

TCP与UDP端口4789 overlay网络通讯端口

 

firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
firewall-cmd --reload

 

参考文章链接:https://www.cnblogs.com/bigberg/p/8761226.html

转载于:https://www.cnblogs.com/Phantom3389/p/9281170.html

 

 

转载请注明:SuperIT » 解决云服务器docker swarm节点间无法通信问题

喜欢 (6)or分享 (0)