av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

詳解Kubernetes中的網(wǎng)絡(luò)類型

隨著Kubernetes王者時(shí)代的到來(lái),計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、安全是Kubernetes繞不開的話題,本次主要分享Kubernetes中的網(wǎng)絡(luò)類型,,后續(xù)還會(huì)有Kubernetes其它方面的分享。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括濮陽(yáng)網(wǎng)站建設(shè)、濮陽(yáng)網(wǎng)站制作、濮陽(yáng)網(wǎng)頁(yè)制作以及濮陽(yáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,濮陽(yáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到濮陽(yáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

Pod內(nèi)容器之間的通信:localhost

在同一個(gè)pod內(nèi)由pause鏡像啟動(dòng)的容器。所有運(yùn)行于同一個(gè)Pod內(nèi)的容器與同一主機(jī)上的多個(gè)進(jìn)程類似,彼此之間可通過(guò)lo接口完成交互。

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

同一node上的Pod之間的通信:overlay network

同一個(gè)Node內(nèi)的不同Pod之間可以直接采用對(duì)方Pod的IP地址通信,而且不需要使用其他發(fā)現(xiàn)機(jī)制,例如DNS、Consul或者etcd。

Pod1和Pod2都是通信veth:pair連接到同一個(gè)docker0網(wǎng)橋上,它們的IP地址IP1、IP2都是從docker0網(wǎng)段上動(dòng)態(tài)獲取的,它們和網(wǎng)橋本身的IP3是同一個(gè)網(wǎng)段的。由于Pod1和Pod2處于同一局域網(wǎng)內(nèi),它們之間可以通過(guò)docker0作為路由量進(jìn)行通信。

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

不同node上的Pod之間的通信:iptables規(guī)則

在Kubernetes的網(wǎng)絡(luò)世界中,Pod之間假設(shè)是通過(guò)訪問(wèn)對(duì)方的Pod IP進(jìn)行通信的,而不同Node之間的通信只能通過(guò)Node的物理網(wǎng)卡進(jìn)行,Pod的IP地址是由各Node上的docker0網(wǎng)橋動(dòng)態(tài)分配的。我們想要實(shí)現(xiàn)跨Node的Pod之間的通信,至少需要滿足下面三個(gè)條件:

知道Pod IP 和Node IP之間的映射關(guān)系,通過(guò)Node IP轉(zhuǎn)發(fā)到Pod IP;

在整個(gè)Kubernetes集群中對(duì)Pod的IP分配不能出現(xiàn)沖突;

從Pod中發(fā)出的數(shù)據(jù)包不應(yīng)該進(jìn)行NAT地址轉(zhuǎn)換。

Kubernetes會(huì)記錄所有正在運(yùn)行的Pod的IP分配信息,并將這些信息保存到etcd中(作為Service的Endpoint),這樣我們就可以知道PodIP和Node IP之間的映射關(guān)系。

以Flannel為例,F(xiàn)lannel實(shí)現(xiàn)的容器的跨主機(jī)通信通過(guò)如下過(guò)程實(shí)現(xiàn):

每個(gè)主機(jī)上安裝并運(yùn)行etcd和flannel;

在etcd中規(guī)劃配置所有主機(jī)的docker0子網(wǎng)范圍;

每個(gè)主機(jī)上的flanneld根據(jù)etcd中的配置,為本主機(jī)的docker0分配子網(wǎng),保證所有主機(jī)上的docker0網(wǎng)段不重復(fù),并將結(jié)果(即本主機(jī)上的docker0子網(wǎng)信息和本主機(jī)IP的對(duì)應(yīng)關(guān)系)存入etcd庫(kù)中,這樣etcd庫(kù)中就保存了所有主機(jī)上的docker子網(wǎng)信息和本主機(jī)IP的對(duì)應(yīng)關(guān)系;

當(dāng)需要與其他主機(jī)上的容器進(jìn)行通信時(shí),查找etcd數(shù)據(jù)庫(kù),找到目的容器的子網(wǎng)所對(duì)應(yīng)的outip(目的宿主機(jī)的IP);

將原始數(shù)據(jù)包封裝在VXLAN或UDP數(shù)據(jù)包中,IP層以outip為目的IP進(jìn)行封裝;

由于目的IP是宿主機(jī)IP,因此路由是可達(dá)的;

VXLAN或UDP數(shù)據(jù)包到達(dá)目的宿主機(jī)解封裝,解出原始數(shù)據(jù)包,最終到達(dá)目的容器。

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

Service與Pod間的通信:iptables規(guī)則

集群網(wǎng)絡(luò)需要在啟動(dòng)kube-apiserver時(shí)經(jīng)由“—service-cluster-ip-range”選項(xiàng)進(jìn)行指定,如10.96.0.0/12,而每個(gè)Service對(duì)象在此網(wǎng)絡(luò)中均擁一個(gè)稱為Cluster-IP的固定地址。

管理員或用戶對(duì)Service對(duì)象的創(chuàng)建或更改操作由API Server存儲(chǔ)完成后觸發(fā)各節(jié)點(diǎn)上的kube-proxy,并根據(jù)代理模式的不同將其定義為相應(yīng)節(jié)點(diǎn)上的iptables規(guī)則或ipvs規(guī)則,借此完成從Service的Cluster-IP與Pod-IP之間的報(bào)文轉(zhuǎn)發(fā)

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

集群外部到Pod對(duì)象之間的通信

將集群外部的流量引入到Pod對(duì)象的方式有受限于Pod所在的工作節(jié)點(diǎn)范圍的節(jié)點(diǎn)端口(nodePort)和主機(jī)網(wǎng)絡(luò)(hostNetwork)兩種,以及工作于集群級(jí)別的NodePort或LoadBalancer類型的Service對(duì)象。

即便是四層代理的模式也要經(jīng)由兩級(jí)轉(zhuǎn)發(fā)才能到達(dá)目標(biāo)Pod資源:請(qǐng)求流量首先到達(dá)外部負(fù)載均衡器,由其調(diào)度至某個(gè)工作節(jié)點(diǎn)之上,而后再由工作節(jié)點(diǎn)的netfilter(kube-proxy)組件上的規(guī)則(iptables或ipvs)調(diào)度至某個(gè)目標(biāo)Pod對(duì)象。


網(wǎng)站名稱:詳解Kubernetes中的網(wǎng)絡(luò)類型
分享網(wǎng)址:http://uogjgqi.cn/article/dhcshec.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流