成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes網(wǎng)絡(luò)插件詳解 - Calico篇 - 網(wǎng)絡(luò)基礎(chǔ)

云計(jì)算 云原生
Kubernetes是以Container容器技術(shù)為核心的調(diào)度引擎,將傳統(tǒng)云計(jì)算對(duì)應(yīng)的基礎(chǔ)資源,包含計(jì)算、存儲(chǔ),網(wǎng)絡(luò)進(jìn)行了徹底池化統(tǒng)一管理,同時(shí)將運(yùn)行在技術(shù)架構(gòu)之上的應(yīng)用和服務(wù)也進(jìn)行了抽象標(biāo)準(zhǔn)化,再通過(guò)調(diào)度快速實(shí)現(xiàn)應(yīng)用與資源的匹配,即以應(yīng)用為中心構(gòu)建云原生操作系統(tǒng)能力。

Container容器借助底層Linux操作系統(tǒng)的Namespace與Cgroup內(nèi)核技術(shù),實(shí)現(xiàn)在單一主機(jī)資源的輕量級(jí)虛擬化資源隔離,包含進(jìn)程ID、主機(jī)名、用戶ID、文件名、網(wǎng)絡(luò)和進(jìn)程間通信等。同時(shí)每個(gè)網(wǎng)絡(luò)空間Network Namesapce都有獨(dú)立的網(wǎng)絡(luò)棧,包括網(wǎng)絡(luò)接口(Network Interface)、回環(huán)設(shè)備(Lookback Device)、路由表(Routing Table)和iptables規(guī)則等,是容器網(wǎng)絡(luò)隔離與通信的基礎(chǔ)。

圖片   

 Kubernetes是以Container容器技術(shù)為核心的調(diào)度引擎,將傳統(tǒng)云計(jì)算對(duì)應(yīng)的基礎(chǔ)資源,包含計(jì)算、存儲(chǔ),網(wǎng)絡(luò)進(jìn)行了徹底池化統(tǒng)一管理,同時(shí)將運(yùn)行在技術(shù)架構(gòu)之上的應(yīng)用和服務(wù)也進(jìn)行了抽象標(biāo)準(zhǔn)化,再通過(guò)調(diào)度快速實(shí)現(xiàn)應(yīng)用與資源的匹配,即以應(yīng)用為中心構(gòu)建云原生操作系統(tǒng)能力。

在Kubernetes集群內(nèi),既要解決相同宿主機(jī)多個(gè)命名空間網(wǎng)絡(luò)棧共享底層硬件資源,同時(shí)還要解決集群內(nèi)部跨宿主機(jī)網(wǎng)絡(luò)通信的問(wèn)題,面向應(yīng)用提供完成的網(wǎng)絡(luò)能力,所以容器網(wǎng)絡(luò)是Kubernetes最復(fù)雜部分,同時(shí)也是設(shè)計(jì)精華所在:對(duì)于相同宿主機(jī)共享底層硬件設(shè)備問(wèn)題,通常是借助虛擬化技術(shù)來(lái)實(shí)現(xiàn),通過(guò)虛擬設(shè)備來(lái)實(shí)現(xiàn)靈活的管理,再將虛擬化設(shè)備連接到真實(shí)的物理設(shè)備上實(shí)現(xiàn)網(wǎng)絡(luò)通信;對(duì)于跨宿主機(jī)網(wǎng)絡(luò)通信問(wèn)題,采用SDN軟件定義網(wǎng)絡(luò)的思路,靈活使用底層網(wǎng)絡(luò)通信協(xié)議,同時(shí)結(jié)合各種虛擬化隧道通信技術(shù),實(shí)現(xiàn)容器集群內(nèi)外部通信。

所以要搞清楚復(fù)雜的容器網(wǎng)絡(luò)及各種各樣的網(wǎng)絡(luò)插件,首先需要了解網(wǎng)絡(luò)通信基礎(chǔ),網(wǎng)絡(luò)設(shè)備虛擬化以及網(wǎng)絡(luò)隧道技術(shù)。網(wǎng)絡(luò)通信基礎(chǔ)?。

一、網(wǎng)絡(luò)模

 OSI網(wǎng)絡(luò)模型將網(wǎng)絡(luò)數(shù)據(jù)發(fā)送和接收數(shù)據(jù)的過(guò)程分為7層,分別是物理層(Physical Layer),數(shù)據(jù)鏈路層(Data Link Layer),網(wǎng)絡(luò)層(Network Layer),傳輸層(Transport Layer),會(huì)話層(Session Layer),表示層(Presentation Layer),應(yīng)用層(Application Layer)。TCP/IP協(xié)議定義了一個(gè)應(yīng)用于不同網(wǎng)絡(luò)間信息傳輸?shù)膮f(xié)議簇,對(duì)網(wǎng)絡(luò)中各層次的通信制定了標(biāo)準(zhǔn)和方法。TCP/IP包含了很多協(xié)議,常見(jiàn)的協(xié)議包括IP、FTP、TCP、UDP、SMTP等。TCP/IP協(xié)議定義4層或者5層,4層主要包含鏈路層,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。OSI是開(kāi)放系統(tǒng)的互連模型,相關(guān)的協(xié)議已經(jīng)非常少使用,但是模型本身非常通用;只是由于OSI模型過(guò)于理想化,至今尚未有完整的實(shí)現(xiàn)。TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)體系實(shí)際上是由OSI七層模型演化而來(lái),是一個(gè)工業(yè)標(biāo)準(zhǔn),并不是只由TCP和IP協(xié)議組成,而是由支持能夠在多個(gè)不同的網(wǎng)絡(luò)間實(shí)現(xiàn)信息傳輸?shù)膮f(xié)議簇,后續(xù)的網(wǎng)絡(luò)通信主要是基于TCP/IP協(xié)議講解。

圖片

二、網(wǎng)絡(luò)數(shù)據(jù)包

 在TCP/IP通信中,網(wǎng)絡(luò)層的作用是實(shí)現(xiàn)終端的點(diǎn)對(duì)點(diǎn)通信。通過(guò)IP地址將數(shù)據(jù)包發(fā)送給目的主機(jī),在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)堆棧的每一層都會(huì)添加自己的報(bào)文頭,包含該層需要的控制/元數(shù)據(jù),以便在數(shù)據(jù)包穿過(guò)網(wǎng)絡(luò)時(shí)對(duì)其進(jìn)行處理,并將生成的數(shù)據(jù)包傳遞到堆棧的下一層。這樣就產(chǎn)生了完整的數(shù)據(jù)包。

圖片

三、IP路由

當(dāng)網(wǎng)絡(luò)設(shè)備收到一個(gè)數(shù)據(jù)包時(shí),它根據(jù)數(shù)據(jù)包的目的IP地址查詢路由表,如果有匹配的路由條目,就根據(jù)查詢結(jié)果將數(shù)據(jù)包轉(zhuǎn)發(fā)出去,如果沒(méi)有任何匹配的路由條目,則將數(shù)據(jù)包丟棄,這個(gè)過(guò)程就是IP路由。除了路由器,三層交換機(jī)、防火墻、負(fù)載均衡設(shè)備甚至主機(jī)等設(shè)備都可以進(jìn)行路由操作。每一個(gè)路由條目包含目的網(wǎng)段地址/子網(wǎng)掩碼、路由協(xié)議、出接口、下一跳IP地址、路由優(yōu)先級(jí)和度量值等信息。路由表直連路由、靜態(tài)路由和動(dòng)態(tài)路由三種方式獲取,其中動(dòng)態(tài)路由是通過(guò)動(dòng)態(tài)路由協(xié)議從相鄰網(wǎng)絡(luò)設(shè)備動(dòng)態(tài)學(xué)習(xí)到的路由條目。協(xié)議有OSPF,BGP ,RIP,RIPv2等。

圖片

 其中BGP協(xié)議,即邊界網(wǎng)關(guān)協(xié)議,是一種運(yùn)行于TCP上的一種能夠處理因特網(wǎng)大小的網(wǎng)絡(luò)協(xié)議,也是一種可以完善無(wú)關(guān)路由域間的多路連接協(xié)議。BGP主要用于與其他BGP線路建立網(wǎng)絡(luò)連接、相互交換包括AS在內(nèi)的信息。Kubernetes容器網(wǎng)絡(luò)插件Calico,就基于此協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)。

圖片

四、NAT(Network Address Translation)

網(wǎng)絡(luò)地址轉(zhuǎn)換是一種地址轉(zhuǎn)換技術(shù),可以將IP數(shù)據(jù)報(bào)文頭中的IP地址轉(zhuǎn)換為另一個(gè)IP地址,并通過(guò)轉(zhuǎn)換端口號(hào)達(dá)到地址重用的目的。

網(wǎng)絡(luò)設(shè)備虛擬化

在沒(méi)有虛擬化技術(shù)之前,計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)都只通過(guò)物理網(wǎng)卡,線纜介質(zhì),連接外部網(wǎng)絡(luò),構(gòu)成龐大的網(wǎng)絡(luò)。隨著虛擬化技術(shù)的出現(xiàn),網(wǎng)絡(luò)也隨之被虛擬化,相較于單一的物理網(wǎng)絡(luò),虛擬網(wǎng)絡(luò)變得非常復(fù)雜。Linux虛擬網(wǎng)絡(luò)的底層都是由一個(gè)個(gè)的虛擬設(shè)備構(gòu)成的,以此來(lái)實(shí)現(xiàn)諸如交換、路由、隧道、隔離、聚合等多種網(wǎng)絡(luò)功能。常見(jiàn)的虛擬網(wǎng)絡(luò)設(shè)備有tap/tun、veth-pair和bridge。

圖片

1、Tap/Tun

Tap/Tun是Linux內(nèi)核實(shí)現(xiàn)的一對(duì)虛擬網(wǎng)絡(luò)設(shè)備,TAP工作在二層,TUN工作在三層。Linux內(nèi)核通過(guò)TAP/TUN設(shè)備向綁定該設(shè)備的用戶空間程序發(fā)送數(shù)據(jù),反之用戶空間程序也可以像操作物理網(wǎng)絡(luò)設(shè)備那樣向 TAP/TUN 設(shè)備發(fā)送數(shù)據(jù)。

2、Veth-pair

Veth-pair是一端連著內(nèi)核協(xié)議棧,另一端連著另一個(gè)設(shè)備,一個(gè)設(shè)備收到內(nèi)核發(fā)送的數(shù)據(jù)后,會(huì)發(fā)送到另一個(gè)設(shè)備上去,這種設(shè)備通常用于容器中兩個(gè)namespace之間的通信。

3、Bridge

Bridge是Linux內(nèi)核實(shí)現(xiàn)的一個(gè)工作在二層的虛擬網(wǎng)絡(luò)設(shè)備,但不同于TAP/TUN這種單端口的設(shè)備,Bridge實(shí)現(xiàn)為多端口,本質(zhì)上是一個(gè)虛擬交換機(jī),具備和物理交換機(jī)類似的功能。Bridge可以綁定其他Linux網(wǎng)絡(luò)設(shè)備作為從設(shè)備,并將這些從設(shè)備虛擬化為端口,當(dāng)一個(gè)從設(shè)備被綁定到Bridge上時(shí),就相當(dāng)于真實(shí)網(wǎng)絡(luò)中的交換機(jī)端口上插入了一根連有終端的網(wǎng)線。

網(wǎng)絡(luò)隧道技術(shù)

隧道(Tunneling)是一種網(wǎng)絡(luò)數(shù)據(jù)通信技術(shù),主要解決網(wǎng)絡(luò)協(xié)議不支持,數(shù)據(jù)傳輸不安全等網(wǎng)絡(luò)通信問(wèn)題。將不支持的協(xié)議數(shù)據(jù)包打包成支持的協(xié)議數(shù)據(jù)包之后進(jìn)行傳輸,或在不安全網(wǎng)絡(luò)上提供一個(gè)安全路徑。通過(guò)網(wǎng)絡(luò)隧道技術(shù),可以使隧道兩端的網(wǎng)絡(luò)組成一個(gè)更大的內(nèi)部網(wǎng)絡(luò)。

隧道協(xié)議有二層隧道協(xié)議與三層隧道協(xié)議兩類,二層隧道協(xié)議對(duì)應(yīng)OSI模型中數(shù)據(jù)鏈路層,使用幀作為數(shù)據(jù)交換單位,將數(shù)據(jù)封裝在點(diǎn)對(duì)點(diǎn)協(xié)議的幀中通過(guò)互聯(lián)網(wǎng)絡(luò)發(fā)送,協(xié)議包含PPTP、L2TP、L2F等。三層隧道協(xié)議對(duì)應(yīng)OSI模型中網(wǎng)絡(luò)層,使用包作為數(shù)據(jù)交換單位,將數(shù)據(jù)包封裝在附加的IP包頭中通過(guò)IP網(wǎng)絡(luò)傳送,協(xié)議包含GRE、IPSec、GRE等。Linux原生支持多種三層隧道,其底層實(shí)現(xiàn)原理都是基于tun設(shè)備:

  • IPIP:普通的IPIP隧道,就是在報(bào)文的基礎(chǔ)上再封裝成一個(gè)IPv4報(bào)文
  • GRE:通用路由封裝(Generic Routing Encapsulation),定義了在任意網(wǎng)絡(luò)層協(xié)議上封裝其他網(wǎng)絡(luò)層協(xié)議的機(jī)制,所以對(duì)于IPv4和IPv6都適用
  • SIT:主要用于IPv4報(bào)文封裝IPv6報(bào)文,即IPv6 over IPv4
  • ISATAP:站內(nèi)自動(dòng)隧道尋址協(xié)議,類似于sit也是用于IPv6的隧道封裝
  • VTI:即虛擬隧道接口(Virtual Tunnel Interface),是一種IPsec隧道技術(shù)。

1、VXLAN隧道技術(shù)

Linux內(nèi)核自3.7版本開(kāi)始支持VXLAN隧道技術(shù),是目前最流行的Overlay網(wǎng)絡(luò)隧道協(xié)議之一,將二層以太網(wǎng)幀封裝在四層UDP報(bào)文中,通過(guò)三層網(wǎng)絡(luò)傳輸,組成一個(gè)虛擬大二層網(wǎng)絡(luò)。VXLAN使用VTEP(VXLAN Tunnel Endpoint)來(lái)進(jìn)行封包和解包:在發(fā)送端,源VTEP將原始報(bào)文封裝成VXLAN報(bào)文,通過(guò)UDP發(fā)送到對(duì)端VTEP;在接收端,VTEP將解開(kāi)VXLAN報(bào)文,將原始的二層數(shù)據(jù)幀轉(zhuǎn)發(fā)給目的的接收方。VTEP可以是獨(dú)立的網(wǎng)絡(luò)設(shè)備,例如交換機(jī),也可以是部署在服務(wù)器上的虛擬設(shè)備。例如使用置頂交換機(jī)(TOR)作為VTEP時(shí),VXLAN的網(wǎng)絡(luò)模型如下圖:

圖片

  • VTEP(VXLAN tunnel endpoints):VXLAN網(wǎng)絡(luò)的邊緣設(shè)備,用來(lái)進(jìn)行VXLAN報(bào)文的封包與解包。VTEP可以是網(wǎng)絡(luò)設(shè)備(例如交換機(jī)),也可以是一臺(tái)機(jī)器(例如虛擬化集群中的宿主機(jī))。
  • VNI(VXLAN network identifier):VNI是VXLAN的標(biāo)識(shí),是個(gè)24位整數(shù),因此最大值是2的24次方個(gè)。如果一個(gè)VNI對(duì)應(yīng)一個(gè)租戶,那么理論上VXLAN可以支持千萬(wàn)級(jí)別的租戶。
  • VXLAN Tunnel:隧道是一個(gè)邏輯上的概念,在VXLAN模型中并沒(méi)有具體的物理實(shí)體相對(duì)應(yīng)。隧道可以看作一個(gè)虛擬通道,VXLAN通信雙方都認(rèn)為自己在直接通信,并不知道底層網(wǎng)絡(luò)的存在。從整體上看,每個(gè)VXLAN網(wǎng)絡(luò)像是為通信的設(shè)備搭建了一個(gè)單獨(dú)的通信通道,也就是隧道。

VXLAN的報(bào)文就是MAC in UDP,即在三層網(wǎng)絡(luò)的基礎(chǔ)上構(gòu)建一個(gè)虛擬的二層網(wǎng)絡(luò)。VXLAN的封包格式顯示原來(lái)的二層以太網(wǎng)幀(包含MAC頭部、IP頭部和傳輸層頭部的報(bào)文),被放在VXLAN包頭里進(jìn)行封裝,再套到標(biāo)準(zhǔn)的UDP頭部(UDP頭部、IP頭部和MAC頭部),用來(lái)在底層網(wǎng)絡(luò)上傳輸報(bào)文。VXLAN報(bào)文比原始報(bào)文多出50個(gè)字節(jié),這降低了網(wǎng)絡(luò)鏈路傳輸?shù)挠行?shù)據(jù)比例,尤其是小包。UDP目的端口是接收方VTEP設(shè)備使用的端口,IANA分配了4789作為VXLAN的目的UDP端口(flannel VXLAN模式是8472)。

圖片

總結(jié)

總的來(lái)說(shuō),云原生Kubernetes并且沒(méi)有創(chuàng)造新的網(wǎng)絡(luò)技術(shù),而是根據(jù)各種場(chǎng)景靈活的聚合使用各種網(wǎng)絡(luò)技術(shù)。從底層通信技術(shù)來(lái)看,容器網(wǎng)絡(luò)有Overlay模式,路由模式,以及Underlay模式三種,其中Overlay模式主要是通過(guò)虛擬化與隧道技術(shù),屏蔽底層網(wǎng)絡(luò)復(fù)雜路由轉(zhuǎn)發(fā),面向應(yīng)用提供簡(jiǎn)單高效的通信能力。同時(shí)底層操作系統(tǒng)內(nèi)核的網(wǎng)絡(luò)的技術(shù)也在發(fā)展演進(jìn),各種虛擬化技術(shù)及隧道技術(shù)極其相似,又各自有細(xì)微的差別,所以才有多種容器網(wǎng)絡(luò)插件及網(wǎng)絡(luò)模式,所以容器網(wǎng)絡(luò)規(guī)劃選擇一定要針對(duì)業(yè)務(wù)應(yīng)用的場(chǎng)景,在靈活,高效,以及成本等多因素中權(quán)衡選擇合適的網(wǎng)絡(luò)方案。

本文轉(zhuǎn)載自微信公眾號(hào)「巨子嘉」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系巨子嘉公眾號(hào)。

責(zé)任編輯:姜華 來(lái)源: 巨子嘉
相關(guān)推薦

2022-07-27 16:23:36

Kubernetes容器

2022-05-31 10:30:23

KubernetesCalico運(yùn)維

2019-07-03 10:58:22

Kubernetes網(wǎng)絡(luò)插件

2021-11-22 08:50:20

Kubernetes網(wǎng)絡(luò)策略云原生應(yīng)用程序

2022-05-02 18:45:33

Kubernetes網(wǎng)絡(luò)模型

2011-03-29 11:28:00

Cacti插件

2023-11-28 07:55:05

Calico容器網(wǎng)絡(luò)

2019-10-24 11:10:06

Kubernetes網(wǎng)絡(luò)運(yùn)維

2021-12-01 06:30:05

EnspCalicok8s集群

2020-05-14 16:35:21

Kubernetes網(wǎng)絡(luò)策略DNS

2024-01-19 18:02:25

Kubernetes網(wǎng)絡(luò)流量

2019-10-24 10:25:32

Kubernetes網(wǎng)絡(luò)集群

2010-07-27 10:15:38

NFS網(wǎng)絡(luò)文件系統(tǒng)

2013-10-30 11:27:25

Linux基礎(chǔ)網(wǎng)絡(luò)設(shè)備

2020-07-08 09:36:03

Kubernetes容器開(kāi)發(fā)

2020-09-23 14:20:07

Kubernetes容器網(wǎng)絡(luò)模型

2020-04-12 22:23:45

Kubernetes容器網(wǎng)絡(luò)

2021-04-14 09:33:58

Kubernetes通信網(wǎng)絡(luò)模型

2010-03-19 09:24:14

無(wú)線網(wǎng)絡(luò)

2014-05-04 13:47:39

銳捷網(wǎng)絡(luò)極簡(jiǎn)網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 中文字幕一区二区三区四区不卡 | 毛片一区| 91电影 | 国产小视频自拍 | 国产午夜精品久久久 | 亚洲精品在线视频 | 黄色片在线免费看 | 最新一级毛片 | 秋霞国产| 国产精品亚洲第一区在线暖暖韩国 | 亚州av在线 | 欧美白人做受xxxx视频 | 久久久久中文字幕 | 久久综合九九 | www.99热这里只有精品 | 国产高清一二三区 | 一级黄色毛片免费 | 国产一区二区三区 | 成人精品啪啪欧美成 | 中文字幕免费中文 | 高清视频一区二区三区 | 国产特黄一级 | 中文日韩字幕 | 涩在线| 精品综合久久久 | 亚洲精品乱码久久久久久9色 | 羞羞视频一区二区 | 国产精品欧美一区二区三区不卡 | 天天夜夜人人 | 国产精品国色综合久久 | 成人av电影在线 | 成人在线视频网址 | 午夜精品久久久久久久久久久久久 | 日韩午夜在线观看 | 超碰男人天堂 | 国产成人精品一区二区三区在线 | 2018国产大陆天天弄 | 国产网站在线 | 怡红院怡春院一级毛片 | 成人国产在线观看 |