docker Swarm多态主机实现网络互通

10 篇文章 0 订阅

前提准备

准备好三台安装好docker的主机、虚拟机或者云服务器均可,并且这些主机在同一局域网内部。

初始化主节点

docker swarm init

添加主节点

docker swarm join-token manager

会返回加入主节点的语句,复制之后去对应主句执行生成token对应语句加入swarm集群

创建集群网络

创建一个名为network-overlay的集群网络,子网掩码16位,即255.255.0.0,网关为10.10.0.1

docker network create -d overlay --subnet=10.10.0.0/16 --gateway=10.10.0.1 --attachable=true network-overlay

查看生成的网络

docker network ls

称为ingress的overlay网络,用于传递集群服务的控制或是数据消息,若在创建swarm服务时没有指定连接用户自定义的overlay网络,将会加入到默认的ingress网络

名为docker_gwbridge桥接网络会连接swarm中所有独立的docker系统进程 docker_gwbridge是一个虚拟网桥,连接docker系统进程所处的物理网络和overlay网络,它存在于docker的内核中,如果我们想配置这个网络,首先需要确保主机不在集群中,接着进行下面的步骤:

  • 退出集群服务
  • 除docker_gwbridge桥接网络
  • 重启docker 服务
  • 创建docker_gwbridge桥接网络,由于是docker_gwbridge 网卡scope 是local,所以需要所有集群节点进行重新生成
docker network create --subnet 172.21.0.0/20 --gateway 172.21.0.1 --opt com.docker.network.bridge.name=docker_gwbridge --opt com.docker.network.bridge.enable_icc=false --opt com.docker.network.bridge.enable_ip_masquerade=true docker_gwbridge

网络连通

如果想要连接到network-overlay网络,请确保连接前下列端口没有服务,并且服务器防火墙要允许下列端口通过:

TCP端口2377,用于集群管理信息的交流
TCP、UDP端口7946用于集群中节点的交流
UDP端口4789用于overlay网络中数据报的发送与接收

work节点是查询不到这个网络,需要升级work节点为管理节点

docker node promote [nodename]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈勇劲

你的鼓励实我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值