Docker Swarm流量
Φ 控制和管理流量
包括 Swarm 消息管理等,例如请求加入或离开Swarm,这种类型的流量总是被加密的。(涉及到集群内部的hostname、ip-address、subnet、gateway等)
Φ 应用数据流量
包括容器与客户端的通信等。(涉及到防火墙、端口映射、网口映射、VIP等)
Docker Swarm网络
Network | Scope | Driver | Describe |
---|---|---|---|
bridge | local | bridge | 可与宿主机通讯从而实现与互联网通讯能力。 |
host | local | host | 不创建网络,使用主机的网络。 |
none | local | null | 不能与外界网络通讯。 |
docker_gwbridge | local | bridge | swarm集群使用的网桥。 |
ingress | swarm | overlay | 叠加网络(覆盖网络)。 |
Docker Swarm网络概念
Φ Overlay networks
Overlay networks管理Swarm中Docker守护进程间的通信。可以将服务附加到一个或多个已存在的overlay网络上,使得服务与服务之间能够通信。
Φ ingress network
ingress network是一个特殊的 overlay 网络,用于服务节点间的负载均衡。当任何Swarm节点在发布的端口上接收到请求时,它将该请求交给一个名为IPVS的模块。IPVS跟踪参与该服务的所有IP地址,选择其中的一个,并通过ingress网络将请求路由到它。
初始化或加入Swarm集群时会自动创建ingress网络,大多数情况下,用户不需要自定义配置,但是Docker 17.05和更高版本允许自定义。
Φ docker_gwbridge
docker_gwbridge是一种桥接网络,将overlay网络(包括ingress网络)连接到一个单独的Docker守护进程的物理网络。默认情况下,服务正在运行的每个容器都连接到本地Docker守护进程主机的docker_gwbridge网络。
docker_gwbridge网络在初始化或加入Swarm时自动创建。大多数情况下,用户不需要自定义配置,但是Docker允许自定义。