千家信息网

docker的ovrelay覆盖网络

发表于:2024-10-17 作者:千家信息网编辑
千家信息网最后更新 2024年10月17日,docker overlay网络驱动程序overlay网络驱动程序在多个docke程序主机之间创建分布式网络,允许连接到网络的容器之间的安全的通信。初始化swarm或者docker主机加入swarm集
千家信息网最后更新 2024年10月17日docker的ovrelay覆盖网络

docker overlay网络驱动程序

overlay网络驱动程序在多个docke程序主机之间创建分布式网络,允许连接到网络的容器之间的安全的通信。

初始化swarm或者docker主机加入swarm集群时,会在该docker主机上创建两个新网络:

1. 覆盖网络ingress ,处理与集群服务相关的控制和数据流量(集群中的负载均衡中有使用到),创建服务时,如果没有指定连接用户定义的覆盖网络时,默认使用ingree网络

2.一个名为桥接网络 docker_gwbridge,将多个docker守护程序连接到stram的其他守护进程。

创建覆盖网络及先决条件

1.打开用于集群管理通信的tcp端口2377

2.集群节点之间的通信端口:tcp和udp端口7946

3.udp端口4789用于覆盖网络流量

加密覆网络上的流量

--opt encrypted在创建覆盖网络时添加的选项,但是会造成较大的性能损失。启用覆盖加密后,Docker会在所有节点之间创建IPSEC隧道,在这些节点上为连接到覆盖网络的服务安排任务。

这些隧道还在GCM模式下使用AES算法,管理器节点每12小时自动旋转密钥

swarm模式覆盖网络和独立容器

要创建可由群集服务或 独立容器用于与在其他Docker守护程序上运行的其他独立容器通信的覆盖网络,请添加--attachable标志:


$ docker network create -d overlay --attachable my-attachable-overlay

自定义覆盖网络ip信息

docker network create \

--driver overlay \

--ingress \

--subnet=10.11.0.0/16 \

--gateway=10.11.0.2 \

--opt com.docker.network.driver.mtu=1200 \

my-ingress

自定义docker_gwbridge接口

docker_gwbridge是一个虚拟网桥,它将覆盖网络与docker守护程序的物理网络。docker是初始化swarm或者加入swarm时会自动创建它。

在自定义该网桥时docker_gwbridge需要先删除默认的docker_gwbridge

1.停止docker服务

2.删除现有的docker_gwbridge

ip linke set docker_gwbridge down

ip link del dev docker_gwbridge

3.启动docker服务

4.使用docker network create 创建定义的docker_gwbridge网桥

$ docker network create \

--subnet 10.11.0.0/16 \

--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

群组服务的操作

在覆盖网络上发布端口

将服务上的端口通过覆盖网络的路由网格对外开放

-p 8080:80 服务上端口:路由网格上的端口


0