溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用 flannel host-gw backend

發(fā)布時間:2021-11-19 10:16:55 來源:億速云 閱讀:204 作者:柒染 欄目:云計算

如何使用 flannel host-gw backend,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

flannel 支持多種 backend,host-gw 是 flannel 的另一個 backend,我們會將前面的 vxlan backend 切換成 host-gw。

與 vxlan 不同,host-gw 不會封裝數(shù)據(jù)包,而是在主機的路由表中創(chuàng)建到其他主機 subnet 的路由條目,從而實現(xiàn)容器跨主機通信。要使用 host-gw 首先修改 flannel 的配置 flannel-config.json:

{

 "Network": "10.2.0.0/16",

 "SubnetLen": 24,

 "Backend": {

   "Type": "host-gw"

 }

}
 

Type 用 host-gw 替換原先的 vxlan。更新 etcd 數(shù)據(jù)庫:

etcdctl --endpoints=192.168.56.101:2379 set /docker-test/network/config < flannel-config.json
 

Ctrl+C 掉之前 host1 和 host2 的 flanneld 進程并重啟。

flanneld -etcd-endpoints=http://192.168.56.101:2379 -iface=enp0s8 -etcd-prefix=/docker-test/network
 

host1 上 flanneld 啟動輸出

與之前 vxlan backend 啟動時有幾點不同:

① flanneld 檢查到原先已分配的 subnet 10.2.40.0/24,重用之。

② flanneld 從 etcd 數(shù)據(jù)庫中檢索到 host2 的 subnet 10.2.17.0/24,但因為其 type=vxlan,立即忽略。

③ 兩分鐘后,再次發(fā)現(xiàn) subnet 10.2.17.0/24,將其加到路由表中。這次沒有忽略 subnet 的原因是此時我們在 host2 上重啟了 flanneld,根據(jù)當前 etcd 的配置使用 host-gw backend。

查看 host1 的路由表,增加了一條到 10.2.17.0/24 的路由,網(wǎng)關為 host2 的 IP 192.168.56.105。

類似的,host2 啟動 flanneld 時會重用 subnet 10.2.17.0/24,并將 host1 的 subnet 10.2.40.0/24 添加到路由表中,網(wǎng)關為 host1 IP 192.168.56.104。

從 /run/flannel/subnet.env 可以看到 host-gw 使用的 MTU 為 1500

這與 vxlan MTU=1450 不同,所以應該修改 docker 啟動參數(shù) --mtu=1500并重啟 docker daemon。

下面對 host-gw 和 vxlan 這兩種 backend 做個簡單比較。

  1. host-gw 把每個主機都配置成網(wǎng)關,主機知道其他主機的 subnet 和轉(zhuǎn)發(fā)地址。vxlan 則在主機間建立隧道,不同主機的容器都在一個大的網(wǎng)段內(nèi)(比如 10.2.0.0/16)。

  2. 雖然 vxlan 與 host-gw 使用不同的機制建立主機之間連接,但對于容器則無需任何改變,bbox1 仍然可以與 bbox2 通信。

  3. 由于 vxlan 需要對數(shù)據(jù)進行額外打包和拆包,性能會稍遜于 host-gw。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI