kubernetes中網(wǎng)絡(luò)原理的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下kubernetes中網(wǎng)絡(luò)原理的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比大豐網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式大豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大豐地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

一:體系結(jié)構(gòu)圖
kubernetes中網(wǎng)絡(luò)原理的示例分析

二:說(shuō)明

1.網(wǎng)絡(luò)命名空間
處于不同命名空間的網(wǎng)絡(luò)棧是完全隔離的,彼此之間無(wú)法通信,就好像兩個(gè)“平行宇宙”,通過(guò)對(duì)這種網(wǎng)絡(luò)資源的隔離,就能在一個(gè)宿主機(jī)上虛擬多個(gè)不同的網(wǎng)絡(luò)環(huán)境。

2.網(wǎng)絡(luò)命名空間的通信,Veth設(shè)備對(duì)
引入Veth設(shè)備對(duì)是為了在不同的網(wǎng)絡(luò)命名空間之間進(jìn)行通信,利用它可以直接將兩個(gè)網(wǎng)絡(luò)命名空間連接起來(lái)。由于要連接兩個(gè)網(wǎng)絡(luò)命名空間,所以Veth設(shè)備都是成對(duì)出現(xiàn)的,很像一對(duì)以太網(wǎng)網(wǎng)卡,并且中間有一根直連的網(wǎng)線。kubernetes中網(wǎng)絡(luò)原理的示例分析
3.網(wǎng)橋
Linux內(nèi)核通過(guò)一個(gè)虛擬的網(wǎng)橋設(shè)備來(lái)實(shí)現(xiàn)以太網(wǎng)口(Veth)之間的橋接。

4.Docker的網(wǎng)絡(luò)實(shí)現(xiàn)
Docker Daemon第一次啟動(dòng)時(shí)會(huì)創(chuàng)建一個(gè)虛擬的網(wǎng)橋,默認(rèn)的名字是docker0,在私有網(wǎng)絡(luò)空間中給這個(gè)網(wǎng)橋分配一個(gè)子網(wǎng)。
針對(duì)由Docker創(chuàng)建出來(lái)的每一個(gè)容器,都會(huì)創(chuàng)建一個(gè)虛擬的Veth設(shè)備對(duì),其中一端關(guān)聯(lián)到網(wǎng)橋上,另一端使用Linux的網(wǎng)絡(luò)命名空間技術(shù),映射到容器內(nèi)的eth0設(shè)備,然后從docker0網(wǎng)橋的地址段內(nèi)給eth0接口分配一個(gè)IP地址
kubernetes中網(wǎng)絡(luò)原理的示例分析
5.kubernetes容器之間通信
Pod內(nèi)的容器共享一個(gè)網(wǎng)絡(luò)命名空間,共享一個(gè)Linux協(xié)議棧,可以用localhost地址訪問(wèn)彼此的端口

kubernetes中網(wǎng)絡(luò)原理的示例分析

6.kubernetes同一Node的Pod間通信
同一Node中Pod的默認(rèn)路由都是docker0的地址,由于它們關(guān)聯(lián)在同一個(gè)docker0網(wǎng)橋上,地址網(wǎng)段相同,所有它們之間應(yīng)當(dāng)是能直接通信的。

kubernetes中網(wǎng)絡(luò)原理的示例分析

7.kubernetes不同Node的Pod間通信
不同Node中Pod間通信要滿足2個(gè)條件: Pod的IP不能沖突; 將Pod的IP和所在的Node的IP關(guān)聯(lián)起來(lái),通過(guò)這個(gè)關(guān)聯(lián)讓Pod可以互相訪問(wèn)。

kubernetes中網(wǎng)絡(luò)原理的示例分析

8.Flannel工作原理

Flannel實(shí)質(zhì)上是一種“覆蓋網(wǎng)絡(luò)(overlay network)”,也就是將TCP數(shù)據(jù)包裝在另一種網(wǎng)絡(luò)包里面進(jìn)行路由轉(zhuǎn)發(fā)和通信,目前已經(jīng)支持UDP、VxLAN、AWS VPC和GCE路由等數(shù)據(jù)轉(zhuǎn)發(fā)方式。

1. 數(shù)據(jù)從源容器中發(fā)出后,經(jīng)由所在主機(jī)的docker0虛擬網(wǎng)卡轉(zhuǎn)發(fā)到flannel0虛擬網(wǎng)卡,這是個(gè)P2P的虛擬網(wǎng)卡,flanneld服務(wù)監(jiān)聽在網(wǎng)卡的另外一端。

2.Flannel通過(guò)Etcd服務(wù)維護(hù)了一張節(jié)點(diǎn)間的路由表。

3. 源主機(jī)的flanneld服務(wù)將原本的數(shù)據(jù)內(nèi)容UDP封裝后根據(jù)自己的路由表投遞給目的節(jié)點(diǎn)的flanneld服務(wù),數(shù)據(jù)到達(dá)以后被解包,然后直接進(jìn)入目的節(jié)點(diǎn)的flannel0虛擬網(wǎng)卡,然后被轉(zhuǎn)發(fā)到目的主機(jī)的docker0虛擬網(wǎng)卡,最后就像本機(jī)容器通信一下的有docker0路由到達(dá)目標(biāo)容器。kubernetes中網(wǎng)絡(luò)原理的示例分析

9.Calico架構(gòu)kubernetes中網(wǎng)絡(luò)原理的示例分析

以上是“kubernetes中網(wǎng)絡(luò)原理的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

當(dāng)前文章:kubernetes中網(wǎng)絡(luò)原理的示例分析-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article16/coeogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)商城網(wǎng)站、網(wǎng)站收錄、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司