上一节我们部署了 Calico 网络,今天将运行容器并分析 Calico 的网络结构。
在 host1 中运行容器 bbox1 并连接到 cal_net1:
docker container run --net cal_net1 --name bbox1 -tid busybox
查看 bbox1 的网络配置。
cali0
是 calico interface,分配的 IP 为 192.168.119.2
。cali0 对应 host1 编号 11
的 interface cali5f744ac07f0
。
host1 将作为 router 负责转发目的地址为 bbox1 的数据包。
所有发送到 bbox1 的数据都会发给 cali5f744ac07f0
,因为 cali5f744ac07f0
与 cali0
是一对 veth pair,bbox1 能够接收到数据。
host1 网络结构如图所示:
接下来我们在 host2 中运行容器 bbox2,也连接到 cal_net1:
docker container run --net cal_net1 --name bbox2 -tid busybox
IP 为 192.168.183.65
。
host2 添加了两条路由:
-
目的地址为 host1 容器 subnet
192.168.119.0/26
的路由。 -
目的地址为本地 bbox2 容器
192.168.183.65
的路由。
同样的,host1 也自动添加了到 192.168.183.64/26
的路由。
完成了上面这些准备工作,下一节我们将讨论 Calico 网络的连通性。