(十四)flannel 的連通與隔離上一節(jié)我們在 flannel 網(wǎng)絡(luò)中部署了容器,本節(jié)討論 flannel 的連通和隔離特性。 (1)flannel 網(wǎng)絡(luò)連通性測試 bbox1 和 bbxo2 的連通性:
bbox1 能夠 ping 到位于不同 subnet 的 bbox2,通過
3.flannel.1 將數(shù)據(jù)包封裝成 VxLAN,通過 ens33 發(fā)送給 host2。 4.host2 收到包解封裝,發(fā)現(xiàn)數(shù)據(jù)包目的地址為 10.2.17.2,根據(jù)路由表(下圖)將數(shù)據(jù)包發(fā)送給 flannel.1,并通過 docker0 到達(dá) bbox2。
數(shù)據(jù)流向如圖所示: 另外,flannel 是沒有 DNS 服務(wù)的,容器無法通過 hostname 通信。
(2)flannel 網(wǎng)絡(luò)隔離flannel 為每個主機(jī)分配了獨(dú)立的 subnet,但 flannel.1 將這些 subnet 連接起來了,相互之間可以路由。本質(zhì)上,flannel 將各主機(jī)上相互獨(dú)立的 docker0 容器網(wǎng)絡(luò)組成了一個互通的大網(wǎng)絡(luò),實現(xiàn)了容器跨主機(jī)通信。flannel 沒有提供隔離。 (3)flannel 與外網(wǎng)連通性因為 flannel 網(wǎng)絡(luò)利用的是默認(rèn)的 bridge 網(wǎng)絡(luò),所以容器與外網(wǎng)的連通方式與 bridge 網(wǎng)絡(luò)一樣,即:
|
|