天天看点

Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)

上一节我们部署了 Calico 网络,今天将运行容器并分析 Calico 的网络结构。

在 host1 中运行容器 bbox1 并连接到 cal_net1:

docker container run --net cal_net1 --name bbox1 -tid busybox

查看 bbox1 的网络配置。

<code>cali0</code> 是 calico interface,分配的 IP 为 <code>192.168.119.2</code>。cali0 对应 host1 编号 <code>11</code> 的 interface <code>cali5f744ac07f0</code>。

host1 将作为 router 负责转发目的地址为 bbox1 的数据包。

所有发送到 bbox1 的数据都会发给 <code>cali5f744ac07f0</code>,因为 <code>cali5f744ac07f0</code> 与 <code>cali0</code> 是一对 veth pair,bbox1 能够接收到数据。

host1 网络结构如图所示:

接下来我们在 host2 中运行容器 bbox2,也连接到 cal_net1:

docker container run --net cal_net1 --name bbox2 -tid busybox

IP 为 <code>192.168.183.65</code>。

host2 添加了两条路由:

目的地址为 host1 容器 subnet <code>192.168.119.0/26</code> 的路由。

目的地址为本地 bbox2 容器 <code>192.168.183.65</code> 的路由。

同样的,host1 也自动添加了到 <code>192.168.183.64/26</code> 的路由。

完成了上面这些准备工作,下一节我们将讨论 Calico 网络的连通性。

本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1965469