1. 跨主机容器网络解决方案
docker原生的overlay和macvlan
第三方的flannel、weave、calico
众多网络方案是如何与docker集成在一起的?
libnetwork docker容器网络库
CNM (Container Network Model)这个模型对容器网络进行了抽象
2. macvlan容器网络方案的实现
Macvlan是一个新的尝试,是真正的网络虚拟化技术的转折点。
Linux实现非常轻量级,因为与传统的Linux Bridge隔离相比,
它们只是简单地与一个Linux以太网接口或子接口相关联,以实现网络之间的分离和与物理网络的连接。
Macvlan提供了许多独特的功能,并有充足的空间进一步创新与各种模式。
这些方法的两个高级优点是绕过Linux网桥的正面性能以及移动部件少的简单性。
删除传统上驻留在Docker主机NIC和容器接口之间的网桥留下了一个非常简单的设置,包括容器接口,直接连接到Docker主机接口。
由于在这些情况下没有端口映射,因此可以轻松访问外部服务。
3.实验操作
(1)两台虚拟机
(2)两台虚拟机上添加两块虚拟网卡,并安装好相应的docker服务(因为我们模拟的是docker容器的跨主机访问)
并激活新添加的网卡
[root@server1 ~]# ip link set up eth1
[root@server1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo