集群网络
本节以 Docker Swarm 和 Kubernetes 为例,具体阐述容器集群中的网络实现。
2.3.3.1 Docker Swarm
Docker 1.19 及以后的版本增加了对 Overlay 网络的原生支持(Docker Swarm),主要是利用网络隧道在主 机之间通信。这将允许处于同一 Overlay 网络的不同主机中的容器实现跨主机通信,而同一主机处于不同 Overlay 网络的容器间是不能通信的。这个概念跟云计算中通常认知的 Overlay 网络基本是一致的。Swarm 的 Overlay 网 络采用 VXLAN实现,要求 Linux Kernel 版本不低于 3.19,主要包括如下网络。
(1)Docker_gwbridge 网络
Docker_gwbridge 是在初始化 Docker Swarm 集群后产生的桥接网络,存在于集群中的每个主机节点上,通 过它来实现容器和容器所运行的主机间的通信。可以通过下列命令查看 Docker_gwbridge 网络。
- docker network inspect docker_gwbridge
…
“Options”: {
“com.docker.network.bridge.enable_icc”: “false”, “com.docker.network.bridge.enable_ip_masquerade”: “true”, “com.docker.network.bridge.name”: “docker_gwbridge”
},
…
由上 --icc 配置项为 false 可知,连接到 docker_gwbridge 网桥的容器之间通过 docker_gwbridge 上的接口时 不可以通信。
(2)Ingress 网络