廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號:togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請前往微信添加好友
打開微信
圖片

行業(yè)新聞

calico的網(wǎng)絡(luò)模式

發(fā)布時(shí)間: 2022-12-30

1.calico介紹

Calico是一個(gè)純?nèi)龑拥木W(wǎng)絡(luò)插件,calico的bgp模式類似于flannel的host-gw

calico方便集成 OpenStack這種 IaaS云架構(gòu),為openstack虛擬機(jī)、容器、裸機(jī)提供多主機(jī)間通信。

2.calico原理

calico是一個(gè)純?nèi)龑拥奶摂M網(wǎng)絡(luò),它沒有復(fù)用docker的docker0網(wǎng)橋,而是自己實(shí)現(xiàn)的, calico網(wǎng)絡(luò)不對數(shù)據(jù)包進(jìn)行額外封裝,不需要NAT和端口映射,擴(kuò)展性和性能都很好。Calico網(wǎng)絡(luò)提供了DockerDNS服務(wù), 容器之間可以通過hostname訪問,Calico在每一個(gè)計(jì)算節(jié)點(diǎn)利用LinuxKernel實(shí)現(xiàn)了一個(gè)高效的vRouter(虛擬路由)來負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā),它會為每個(gè)容器分配一個(gè)ip,每個(gè)節(jié)點(diǎn)都是路由,把不同host的容器連接起來,從而實(shí)現(xiàn)跨主機(jī)間容器通信。而每個(gè)vRouter通過BGP協(xié)議(邊界網(wǎng)關(guān)協(xié)議)負(fù)責(zé)把自己節(jié)點(diǎn)的路由信息向整個(gè)Calico網(wǎng)絡(luò)內(nèi)傳播——小規(guī)模部署可以直接互聯(lián),大規(guī)模下可通過指定的BGProute reflector來完成;Calico基于iptables還提供了豐富而靈活的網(wǎng)絡(luò)策略,保證通過各個(gè)節(jié)點(diǎn)上的ACLs來提供多租戶隔離、安全組以及其他可達(dá)性限制等功能。

3.calico網(wǎng)絡(luò)模式

1)IPIP

把一個(gè)IP數(shù)據(jù)包又套在一個(gè)IP包里,即把IP層封裝到IP層的一個(gè) tunnel,它的作用其實(shí)基本上就相當(dāng)于一個(gè)基于IP層的網(wǎng)橋,一般來說,普通的網(wǎng)橋是基于mac層的,根本不需要IP,而這個(gè)ipip則是通過兩端的路由做一個(gè)tunnel,把兩個(gè)本來不通的網(wǎng)絡(luò)通過點(diǎn)對點(diǎn)連接起來;

calico以ipip模式部署完畢后,node上會有一個(gè)tunl0的網(wǎng)卡設(shè)備,這是ipip做隧道封裝用的,也是一種overlay模式的網(wǎng)絡(luò)。當(dāng)我們把節(jié)點(diǎn)下線,calico容器都停止后,這個(gè)設(shè)備依然還在,執(zhí)行 rmmodipip命令可以將它刪除。

2)BGP

邊界網(wǎng)關(guān)協(xié)議(BorderGateway Protocol, BGP)是互聯(lián)網(wǎng)上一個(gè)核心的去中心化的自治路由協(xié)議。它通過維護(hù)IP路由表或‘前綴’表來實(shí)現(xiàn)自治系統(tǒng)(AS)之間的可達(dá)性,屬于矢量路由協(xié)議。BGP不使用傳統(tǒng)的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的指標(biāo),而是基于路徑、網(wǎng)絡(luò)策略或規(guī)則集來決定路由。因此,它更適合被稱為矢量性協(xié)議,而不是路由協(xié)議,通俗的說就是將接入到機(jī)房的多條線路(如電信、聯(lián)通、移動(dòng)等)融合為一體,實(shí)現(xiàn)多線單IP;

BGP 機(jī)房的優(yōu)點(diǎn):服務(wù)器只需要設(shè)置一個(gè)IP地址,最佳訪問路由是由網(wǎng)絡(luò)上的骨干路由器根據(jù)路由跳數(shù)與其它技術(shù)指標(biāo)來確定的,不會占用服務(wù)器的任何系統(tǒng);

官方提供的calico.yaml模板里,默認(rèn)打開了ip-ip功能,該功能會在node上創(chuàng)建一個(gè)設(shè)備tunl0,容器的網(wǎng)絡(luò)數(shù)據(jù)會經(jīng)過該設(shè)備被封裝一個(gè)ip頭再轉(zhuǎn)發(fā)。這里,calico.yaml中通過修改calico-node的環(huán)境變量:CALICO_IPV4POOL_IPIP來實(shí)現(xiàn)ipip功能的開關(guān):默認(rèn)是Always,表示開啟;Off表示關(guān)閉ipip。

calico的網(wǎng)絡(luò)模式

上一篇: mysql如何將bin-log日志文件轉(zhuǎn)為sql文件

下一篇: web服務(wù)器的安裝與配置

<
在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!