上一節我們部署了 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 網絡的連通性。