中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

kubernetes中flannal、calico和cannal網(wǎng)絡(luò)原理的實(shí)例分析

本篇文章為大家展示了kubernetes中flannal、calico和cannal網(wǎng)絡(luò)原理的實(shí)例分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),平南網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平南等地區(qū)。平南做網(wǎng)站價(jià)格咨詢:13518219792

一、flannel

原理:flannel有host-gw(非overlay網(wǎng)絡(luò)),host-gw 模式是指直接使用指向目標(biāo)機(jī)器物理ip的路由,不進(jìn)行任何封裝而進(jìn)行數(shù)據(jù)包傳輸

(性能很高,但是如果節(jié)點(diǎn)太多,則每臺機(jī)器的路由表會膨脹到一定境界,必須所有機(jī)器都互聯(lián),所有的節(jié)點(diǎn)必須都在同一個(gè)子網(wǎng)中,不能跨網(wǎng)段,二層必須能夠互聯(lián))

           overlay網(wǎng)絡(luò),支持UDP、VxLAN、AWS VPC和GCE路由等數(shù)據(jù)轉(zhuǎn)發(fā)方式 (kubernetes默認(rèn)使用了vxlan,下面以vxlan為例說明)

首先是ip地址的分配,通過在ip池中劃分子網(wǎng)到指定物理機(jī)器實(shí)現(xiàn)。(flannel在分配ip的時(shí)候會挑選可用的子網(wǎng)到各自物理機(jī)器上去,而pod的ip從該子網(wǎng)中分配)

主機(jī)192.168.0.4上

ip link add dev flannel_vxlan_c type veth peer name flannel_vxlan_h

brctl addif cni flannel_vxlan_h
ip link set flannel_vxlan_h up
ip addr add 10.244.0.1/24 dev cni

ip netns add flannel_vxlan
ip netns exec flannel_vxlan ip link set lo up
ip link set flannel_vxlan_c netns flannel_vxlan
ip netns exec flannel_vxlan ip link set flannel_vxlan_c up
ip netns exec flannel_vxlan ip addr add 10.244.0.3/24 dev flannel_vxlan_c
ip netns exec flannel_vxlan ip route add default via 10.244.0.1

ip nei add 10.244.2.0 dev flannel.1 lladdr 22:3d:4d:c5:65:ff(這個(gè)mac地址是對面192.168.0.16上flannel.1的mac地址)
bridge fdb add 22:3d:4d:c5:65:ff dst 192.168.0.16 dev flannel.1
ip route add 10.244.2.0/24 via 10.244.2.0 dev flannel.1 onlink

這樣,在另一邊做同樣的設(shè)置,就可以實(shí)現(xiàn)在vxlan的基礎(chǔ)上的東西向互聯(lián)了

需要注意的是圖中的flanneld這里,我還不太確定他是做什么用的

優(yōu)勢:overlay網(wǎng)絡(luò),能適應(yīng)公有云環(huán)境

缺點(diǎn):udp性能損耗非常高,vxlan相對很好,不能進(jìn)行網(wǎng)絡(luò)隔離等等網(wǎng)絡(luò)策略操作

二、calico網(wǎng)絡(luò)

calico提供兩種模式網(wǎng)絡(luò):BGP、ip-in-ip(overlay網(wǎng)絡(luò))

工作原理:

calico在每個(gè)節(jié)點(diǎn)上的內(nèi)核中創(chuàng)建一個(gè)vrouter,這個(gè)vrouter做高效的路由轉(zhuǎn)發(fā),vrouter通過bgp向其他節(jié)點(diǎn)通報(bào)本地的pod相關(guān)的路由信息,在小規(guī)模部署中,所有的節(jié)點(diǎn)都可通過bgp互聯(lián),大規(guī)模的時(shí)候可以通過bgp reflector來完成路由的通報(bào)。

ip地址分配:分配策略同flannel類似,也是將整個(gè)pool劃分為不同的子網(wǎng),將子網(wǎng)調(diào)度到不同的節(jié)點(diǎn)上,然后各節(jié)點(diǎn)上使用相應(yīng)的子網(wǎng)內(nèi)的ip地址創(chuàng)建pod

calico可以使用iptables實(shí)現(xiàn)訪問控制,可以實(shí)現(xiàn)很多網(wǎng)絡(luò)策略

如圖:

pod與物理機(jī)通過veth相連接。

felix用來設(shè)置路由以及iptables(可以實(shí)現(xiàn)網(wǎng)絡(luò)策略,控制pod的通信情況)

bgp client(bird)通過讀取路由信息,向整個(gè)網(wǎng)絡(luò)中進(jìn)行廣播。這樣對面就會獲知娶一個(gè)特定網(wǎng)絡(luò)的路由信息。

需要注意的是ip-in-ip 與 完全bgp的區(qū)別是,pod出來的數(shù)據(jù)包,通過ip route被發(fā)送給一個(gè)本地的ipip設(shè)備(這個(gè)設(shè)備做的工作就是使用本地物理機(jī)的ip和目的物理機(jī)器ip將pod的ip報(bào)文封裝起來,根據(jù)路由發(fā)送到相應(yīng)的機(jī)器上去)

具體實(shí)現(xiàn)大概是下面這樣子的

主機(jī)192.168.0.4

ip netns add calico
ip link add dev calico-c type veth peer name calico-h
ip link set calico-c netns calico
ip netns exec calico ip link set lo up
ip netns exec calico ip link set calico-c up
ip netns exec calico ip addr add 10.244.0.3/24 dev calico-c
ip netns exec calico ip route add default via 169.254.1.1
ip netns exec calico ip route add 169.254.1.1 dev calico-c

ip route add 10.244.0.3 dev calico-h
ip link set calico-h up
sysctl -w net.ipv4.conf.calico-h.proxy_arp=1

BGP模式

ip route add 10.244.2.0/24 via 192.168.0.16

IP-IN-IP模式

ip tunnel add tunl0 mode ipip

ip route add 10.244.2.0/24 via 192.168.0.16 dev tunl0

在另一邊是相反的。當(dāng)然這些操作都是felix以及confd 和bird完成的

calico的性能:比flannel強(qiáng)太多,即便overlay網(wǎng)絡(luò)ip-in-ip也比flannel的overlay網(wǎng)絡(luò)性能強(qiáng)很多

優(yōu)點(diǎn):性能強(qiáng)、快、有網(wǎng)絡(luò)策略、有overlay、基于三層路由的

缺點(diǎn):據(jù)說是不能VRF,當(dāng)然目前我還不知道什么是VRF

三、canal

canal是flannel與calico的結(jié)合版,在這里去除了calico的confd bird部分,也就意味著不使用bgp,不使用ipip隧道,保留的只有felix部分,這部分提供路由以及iptables的設(shè)置,也就是一般的網(wǎng)絡(luò)策略。flannel在這里保留的是vxlan的隧道部分

canal創(chuàng)建的pod的網(wǎng)絡(luò)結(jié)構(gòu)就是這樣的

其本質(zhì)是:

主機(jī)192.168.0.4

ip link add dev canal-c type veth peer name canal-h
ip link set canal-c netns canal
ip netns exec canal ip link set lo up
ip netns exec canal ip link set canal-c up
ip netns exec canal ip addr add 10.244.0.3/24 dev canal-c
ip netns exec calico ip route add default via 169.254.1.1
ip netns exec canal ip route add 169.254.1.1 dev canal-c

ip route add 10.244.0.3 dev canal-h
ip link set canal-h up
sysctl -w net.ipv4.conf.canal-h.proxy_arp=1

ip nei add 10.5.47.0 dev flannel.1 lladdr 22:3d:4d:c5:65:ff (192.168.0.16上flannel.1的mac)
bridge fdb add 22:3d:4d:c5:65:ff  dst 192.168.0.16 dev flannel.1
ip route add 10.244.1.0/24 via 10.244.1.0 dev flannel.1 onlink

主機(jī)192.168.0.16

ip link add dev canal-c type veth peer name canal-h
ip link set canal-c netns canal
ip netns exec canal ip link set lo up
ip netns exec canal ip link set canal-c up
ip netns exec canal ip addr add 10.244.1.3/24 dev canal-c
ip netns exec calico ip route add default via 169.254.1.1
ip netns exec canal ip route add 169.254.1.1 dev canal-c

ip route add 10.244.1.3 dev canal-h
ip link set canal-h up
sysctl -w net.ipv4.conf.canal-h.proxy_arp=1

ip nei add 10.244.0.0 dev flannel.1 lladdr  56:ad:b6:5f:16:d7 (192.168.0.4上flannel.1的mac)
bridge fdb add 56:ad:b6:5f:16:d7 dst 192.168.0.4 dev flannel.1
ip route add 10.244.0.0/24 via 10.244.1.0 dev flannel.1 onlink

優(yōu)勢:網(wǎng)絡(luò)策略、overlay網(wǎng)絡(luò)

缺點(diǎn):性能下降的很快,但是貌似沒有calico的不能vrf的缺點(diǎn)

上述內(nèi)容就是kubernetes中flannal、calico和cannal網(wǎng)絡(luò)原理的實(shí)例分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:kubernetes中flannal、calico和cannal網(wǎng)絡(luò)原理的實(shí)例分析
新聞來源:http://www.rwnh.cn/article6/psjdig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、搜索引擎優(yōu)化網(wǎng)頁設(shè)計(jì)公司、企業(yè)網(wǎng)站制作動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)
安乡县| 晋江市| 隆德县| 鹰潭市| 昭通市| 米易县| 唐海县| 安丘市| 淮滨县| 隆安县| 丘北县| 凤阳县| 巴东县| 崇礼县| 晴隆县| 夏津县| 梁河县| 华宁县| 清远市| 喀喇沁旗| 台山市| 保亭| 大冶市| 盈江县| 东阿县| 鸡泽县| 南丰县| 绿春县| 双峰县| 阳江市| 黄石市| 遂平县| 波密县| 蒲城县| 鄂温| 大庆市| 伊金霍洛旗| 奎屯市| 新余市| 潢川县| 香格里拉县|