天天看點

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

上一節我們部署了 Calico 網絡,今天将運作容器并分析 Calico 的網絡結構。

在 host1 中運作容器 bbox1 并連接配接到 cal_net1:

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

檢視 bbox1 的網絡配置。

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

<code>cali0</code> 是 calico interface,配置設定的 IP 為 <code>192.168.119.2</code>。cali0 對應 host1 編号 <code>11</code> 的 interface <code>cali5f744ac07f0</code>。

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

host1 将作為 router 負責轉發目的位址為 bbox1 的資料包。

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

所有發送到 bbox1 的資料都會發給 <code>cali5f744ac07f0</code>,因為 <code>cali5f744ac07f0</code> 與 <code>cali0</code> 是一對 veth pair,bbox1 能夠接收到資料。

host1 網絡結構如圖所示:

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

接下來我們在 host2 中運作容器 bbox2,也連接配接到 cal_net1:

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

IP 為 <code>192.168.183.65</code>。

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

host2 添加了兩條路由:

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

目的位址為 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 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)

完成了上面這些準備工作,下一節我們将讨論 Calico 網絡的連通性。

Calico 的網絡結構是什麼?- 每天5分鐘玩轉 Docker 容器技術(68)