Skip to content

文档:

https://docs.docker.com/network/drivers/overlay/#container-discovery

1.ingress

[root@k8s-node01 ~]# docker network ls 
NETWORK ID     NAME              DRIVER    SCOPE
b9704956f6d1   bridge            bridge    local
e4cd8283fbd1   docker_gwbridge   bridge    local
a8ce4375181a   host              host      local
ldcaqwsczce8   ingress           overlay   swarm
9eb3e46dd217   none              null      local
[root@k8s-node01 ~]# docker network ls 
NETWORK ID     NAME              DRIVER    SCOPE
b9704956f6d1   bridge            bridge    local
e4cd8283fbd1   docker_gwbridge   bridge    local
a8ce4375181a   host              host      local
ldcaqwsczce8   ingress           overlay   swarm
9eb3e46dd217   none              null      local

​ Swarm mode的ingress网络,分布于整个swarm集群,每台swarm node上都有这两个端口:

​ 7946 TCP/UDP 容器网络发现

​ 4789 UDP 容器ingress网络

​ Ingress网络是一个覆盖网络,在服务节点之间进行负载均衡。当您启动或加入 Dockersworm 时,会自动创建I ngress 网络。在 Docker Swarm 中,所有节点都属于一个名为 ingress 的虚拟网络,以便轻松地将服务暴露给外界。当客户端向 Docker swarm 中所有节点公开的端口发出请求时,该请求将转发到名为 IPVS 的模块。IPVS 跟踪参与该服务的所有 IP 地址,选择其中之一,并将请求路由到该路径。

​ 暴露端口时,可以在 docker service create 命令中设置要暴露的端口。如果不单独指定端口,管理节点会自动分配30000~32767范围内的端口

2.docker_gwbridge

​ 它是一个桥接网络,将覆盖网络(包括 Ingress 网络)连接到每个 Docker 守护进程的物理网络。默认情况下,每个运行服务的容器都连接到本地 Docker 守护进程主机的 docker_gwbridge 网络。这个 docker_gwbridge 网络是在您初始化或加入 docker swarm 时创建的

docker network create --attachable --driver overlay loadbalance_test2

docker service create --name loadbalance_test2 --network=testbackend --replicas 4 -p 99:80 utyk/swarm_loadbalance_check:1.0


#安装
yum install bridge-utils


#查看网桥信息
brctl show

#创建
docker network create  --subnet 172.18.0.0/16  --gateway 172.18.0.1  -o com.docker.network.bridge.enableicc=false  -o com.docker.network.bridge.name=dockergwbridge docker_gwbridge
docker network create --attachable --driver overlay loadbalance_test2

docker service create --name loadbalance_test2 --network=testbackend --replicas 4 -p 99:80 utyk/swarm_loadbalance_check:1.0


#安装
yum install bridge-utils


#查看网桥信息
brctl show

#创建
docker network create  --subnet 172.18.0.0/16  --gateway 172.18.0.1  -o com.docker.network.bridge.enableicc=false  -o com.docker.network.bridge.name=dockergwbridge docker_gwbridge

https://cloud.tencent.com/developer/article/1402614

https://juejin.cn/post/7177971761156194360

https://juejin.cn/post/7178865592537972773

docker 修改gwbridge ip address

Docker 1.12 swarm模式下遇到的各种问题

Swarm使用原生的overlay网络

一种生产环境Docker Overlay Network的配置方案