【swarm】Docker Swarm 服务发现和负载均衡原理

overlay网络


Docker Swarm 内置的跨主机容器通信方案是overlay网络,这是一个基于vxlan协议的网络实现。

VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性。 

overlay 通过虚拟出一个子网,让处于不同主机的容器能透明地使用这个子网,所以跨主机的容器通信就变成了在同一个子网下的容器通信,看上去就像是同一主机下的bridge网络通信。

为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络。

其实,docker 会创建一个 bridge 网络 “docker_gwbridge”,为所有连接到 overlay 网络的容器提供访问外网的能力。


Swarm的Service


一个Service是指使用相同镜像、同时运行的多个容器,多个容器同时一起对外提供服务,多个容器之间负载均衡。

每个Service会有一个浮动IP(VIP),各个容器还有自己的物理IP。

创建基于Swarm的Overlay网络,将Service挂载到此网络上,然后Service中的各个容器便可以通过Service名称(同时也是一个DNS名称)和IP地址实现网络互通。

同一个Service内,多个容器之间的负载均衡有两种方案:

1. 基于浮动IP(VIP)进行均衡

2. 基于DNS解析出不同的IP地址进行均衡




Sandbox

一个Sandbox包含了一个容器网络栈的配置。其中包括了对容器的网卡,路由表以及对DNS设置的管理。通常,一个Sandbox的实现可以是一个Linux Network Namespace,一个FreeBSD Jail或者其他类似的东西。一个Sandbox可以包含多个处于不同Network的Endpoint。

Endpoint

Endpoint将一个Sandbox加入一个Network。Endpoint的实现可以是一个veth对,一个Open vSwitch internal port或者其他类似的东西。一个Endpoint只能属于一个Network和一个Sandbox。

Network

Network是一个能够互相通信的Endpoint的集合。Network的实现可以是一个Linux网桥,一个VLAN等等。



参考


Docker Swarm服务调度分析

https://zhoujinl.github.io/2018/09/20/docker-swarm-scheduler


How to Configure the Linux Firewall for Docker Swarm?

https://www.digitalocean.com/community/tutorials/how-to-configure-the-linux-firewall-for-docker-swarm-on-ubuntu-16-04


Docker Swarm - 服务发现和负载均衡原理

https://anoyi.com/p/dba9342071d8


Docker swarm中的LB和服务发现详解

https://www.jianshu.com/p/c83a9173459f


Docker swarm网络

https://www.sharpcode.cn/devops/docker-swarm-networking


Swarm mode路由网络

https://jimmysong.io/docker-handbook/docs/swarm_mode_routing_mesh.html


Swarm使用原生的overlay网络

https://www.cnblogs.com/bigberg/p/8779302.html


Docker Swarm管理节点高可用分析

https://zhoujinl.github.io/2018/10/19/docker-swarm-manager-ha


基于Swarm的多主机容器网络

https://andyyoung01.github.io/2016/11/26/%E5%9F%BA%E4%BA%8ESwarm%E7%9A%84%E5%A4%9A%E4%B8%BB%E6%9C%BA%E5%AE%B9%E5%99%A8%E7%BD%91%E7%BB%9C

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容