国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Kubernetes】k8s中容器之間、pod之間如何進(jìn)行網(wǎng)絡(luò)通信?

這篇具有很好參考價(jià)值的文章主要介紹了【Kubernetes】k8s中容器之間、pod之間如何進(jìn)行網(wǎng)絡(luò)通信?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


Pod

首先來(lái)回顧一下Pod:

Pod 是用于構(gòu)建應(yīng)用程序的最小可部署對(duì)象。單個(gè) Pod 代表集群中正在運(yùn)行的工作負(fù)載,并封裝一個(gè)或多個(gè) Docker 容器、任何所需的存儲(chǔ)以及唯一的 IP 地址。


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

集群中每一個(gè) Pod 都會(huì)獲得自己的、 獨(dú)一無(wú)二的 IP 地址。一個(gè)Pod里的一組容器共享相同的IP地址。

Kubernetes 強(qiáng)制要求所有網(wǎng)絡(luò)設(shè)施都滿足以下基本要求(從而排除了有意隔離網(wǎng)絡(luò)的策略):

  • Pod 能夠與所有其他節(jié)點(diǎn)上的 Pod 通信, 且不需要網(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)
  • 節(jié)點(diǎn)上的代理(比如:系統(tǒng)守護(hù)進(jìn)程、kubelet)可以和節(jié)點(diǎn)上的所有 Pod 通信。

考慮到這些限制,我們剩下四個(gè)不同的網(wǎng)絡(luò)問(wèn)題需要解決:

  • 容器到容器網(wǎng)絡(luò)
  • Pod 到 Pod 網(wǎng)絡(luò)
  • Pod 到服務(wù)網(wǎng)絡(luò)
  • 互聯(lián)網(wǎng)到服務(wù)網(wǎng)絡(luò)

同一Pod上的容器之間進(jìn)行通信

通常,我們將虛擬機(jī)中的網(wǎng)絡(luò)通信視為直接與以太網(wǎng)設(shè)備交互。默認(rèn)情況下,Linux 將每個(gè)進(jìn)程分配給根網(wǎng)絡(luò)命名空間,以提供對(duì)外部世界的訪問(wèn)。如下圖所示:
在 kubernetes 集群中 pod和pod之間的訪問(wèn)流程,kubernetes,容器,云原生

Pod 被建模為一組共享網(wǎng)絡(luò)命名空間的 Docker 容器。Pod 中的容器都具有通過(guò)分配給 Pod 的網(wǎng)絡(luò)命名空間分配的相同 IP 地址和端口空間,并且可以通過(guò) localhost 找到彼此,因?yàn)樗鼈凂v留在同一命名空間中。

根本原因是使用Docker的一種網(wǎng)絡(luò)模型:–net=container 能夠讓同一個(gè)Pod內(nèi)的多個(gè)docker容器相互通信。

container模式指定新創(chuàng)建的Docker容器和已經(jīng)存在的一個(gè)容器共享一個(gè)網(wǎng)絡(luò)命名空間,也就是說(shuō)新創(chuàng)建的Docker容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個(gè)指定的容器共享 IP、端口范圍等。

在k8s中每個(gè)Pod容器有一個(gè)pause容器,它擁有獨(dú)立的網(wǎng)絡(luò)命名空間,在Pod內(nèi)啟動(dòng)Docker容器時(shí)候使用 –net=container就可以讓當(dāng)前Docker容器加入到Pod容器擁有的網(wǎng)絡(luò)命名空間(pause容器)。


同一Node上的不同Pod之間進(jìn)行通信

從 Pod 的角度來(lái)看,它存在于自己的以太網(wǎng)命名空間中。不同的Pod存在于不同的網(wǎng)絡(luò)命名空間里。
但是可以使用Linux虛擬以太網(wǎng)設(shè)備或由兩個(gè)虛擬接口組成的veth對(duì) 將兩個(gè)網(wǎng)絡(luò)命名空間進(jìn)行連接 。要連接 Pod 命名空間,我們可以將 veth 對(duì)的一側(cè)分配給根網(wǎng)絡(luò)命名空間,將另一側(cè)分配給 Pod 的網(wǎng)絡(luò)命名空間。然后使用網(wǎng)橋把兩個(gè)虛擬網(wǎng)絡(luò)組成為一個(gè)以太網(wǎng)。如下圖所示:
在 kubernetes 集群中 pod和pod之間的訪問(wèn)流程,kubernetes,容器,云原生
在上面這個(gè)網(wǎng)絡(luò)模型下,Pod之間是如何通信的呢?

  1. Pod 1 向其自己的以太網(wǎng)設(shè)備發(fā)送數(shù)據(jù)包eth0,該設(shè)備可作為 Pod 的默認(rèn)設(shè)備。對(duì)于 Pod 1,eth0通過(guò)虛擬以太網(wǎng)設(shè)備連接到根命名空間veth0
  2. 網(wǎng)橋cbr0配置有veth0連接到它的網(wǎng)段。一旦數(shù)據(jù)包到達(dá)網(wǎng)橋,網(wǎng)橋就會(huì)使用 ARP 協(xié)議解析將數(shù)據(jù)包發(fā)送到的正確網(wǎng)段
  3. 當(dāng)數(shù)據(jù)包到達(dá)虛擬設(shè)備veth1時(shí),它會(huì)直接轉(zhuǎn)發(fā)到 Pod 2 的命名空間以及該命名空間內(nèi)的設(shè)備eth0

不同Node上的Pod之間進(jìn)行通信

同樣會(huì)用到虛擬接口和網(wǎng)橋。

在 kubernetes 集群中 pod和pod之間的訪問(wèn)流程,kubernetes,容器,云原生

  1. 數(shù)據(jù)包首先通過(guò) Pod 1 的以太網(wǎng)設(shè)備發(fā)送,該設(shè)備與根命名空間 中的虛擬以太網(wǎng)設(shè)備配對(duì)。最終,數(shù)據(jù)包到達(dá)根命名空間的網(wǎng)橋
  2. ARP 將在網(wǎng)橋處失敗,因?yàn)闆](méi)有設(shè)備連接到具有數(shù)據(jù)包正確 MAC 地址的網(wǎng)橋。發(fā)生故障時(shí),網(wǎng)橋?qū)?shù)據(jù)包從默認(rèn)路由(根命名空間的eth0設(shè)備)發(fā)送出去。此時(shí),路由離開(kāi)節(jié)點(diǎn)并進(jìn)入網(wǎng)絡(luò)
  3. 我們現(xiàn)在假設(shè)網(wǎng)絡(luò)可以根據(jù)分配給節(jié)點(diǎn) 的 CIDR 塊將數(shù)據(jù)包路由到正確的節(jié)點(diǎn)。數(shù)據(jù)包進(jìn)入目標(biāo)節(jié)點(diǎn)(在 VM 2 上)的根命名空間eth0,并通過(guò)網(wǎng)橋路由到正確的虛擬以太網(wǎng)設(shè)備
  4. 最后,路由通過(guò)駐留在 Pod 4 命名空間內(nèi)的虛擬以太網(wǎng)設(shè)備對(duì)完成

一般來(lái)說(shuō),每個(gè)節(jié)點(diǎn)都知道如何將數(shù)據(jù)包傳遞到在其內(nèi)運(yùn)行的 Pod。一旦數(shù)據(jù)包到達(dá)目標(biāo)節(jié)點(diǎn),數(shù)據(jù)包的流動(dòng)方式與在同一節(jié)點(diǎn)上的 Pod 之間路由流量的方式相同。


Service

我們要知道,Pod的IP地址不持久,會(huì)隨著擴(kuò)展或縮小、應(yīng)用程序崩潰或節(jié)點(diǎn)重啟而出現(xiàn)和消失。哪怕重啟一個(gè)Pod,它的IP也可能和前一次不一樣。

所以Kubernetes 里使用Service來(lái)管理一組 Pod 的狀態(tài),允許我們跟蹤一組隨時(shí)間動(dòng)態(tài)變化的 Pod 的IP 地址。Service充當(dāng) Pod 的抽象,并將單個(gè)虛擬 IP 地址分配給一組 Pod 的IP 地址。

任何發(fā)送到服務(wù)虛擬 IP 的流量都將被路由到與該虛擬 IP 關(guān)聯(lián)的 Pod 集。這允許與 Service 關(guān)聯(lián)的 Pod 集隨時(shí)更改 ,只要虛擬IP不改,客戶端就感覺(jué)不到Pod的變化。

創(chuàng)建新的 Kubernetes Service時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)新的虛擬 IP(也稱為集群 IP)。集群內(nèi)的任何位置,尋址到虛擬 IP 的流量都將負(fù)載均衡到與Service關(guān)聯(lián)的一組Pod。實(shí)際上,Kubernetes 會(huì)自動(dòng)創(chuàng)建并維護(hù)一個(gè)分布式集群內(nèi)負(fù)載均衡器,該均衡器將流量分配到Service關(guān)聯(lián)的健康 Pod。


參考

https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/
https://kubernetes.io/zh-cn/docs/concepts/services-networking/文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-860744.html

到了這里,關(guān)于【Kubernetes】k8s中容器之間、pod之間如何進(jìn)行網(wǎng)絡(luò)通信?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • K8s:一文認(rèn)知 CRI,OCI,容器運(yùn)行時(shí),Pod 之間的關(guān)系

    K8s:一文認(rèn)知 CRI,OCI,容器運(yùn)行時(shí),Pod 之間的關(guān)系

    博文內(nèi)容整體結(jié)構(gòu)為結(jié)合 華為云云原生課程 整理而來(lái),部分內(nèi)容做了補(bǔ)充 課程是免費(fèi)的,有華為云賬戶就可以看,適合理論認(rèn)知,感覺(jué)很不錯(cuò)。 有需要的小伙伴可以看看,鏈接在文末 理解不足小伙伴幫忙指正 對(duì)每個(gè)人而言,真正的職責(zé)只有一個(gè):找到自我。然后在心中堅(jiān)守

    2024年02月09日
    瀏覽(19)
  • 【k8s】:如何進(jìn)行 Kubernetes 集群健康檢查?

    【k8s】:如何進(jìn)行 Kubernetes 集群健康檢查?

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? 在使用 Kubernetes(k8s)部署應(yīng)用程序時(shí),保證集群的健康狀態(tài)至關(guān)重要。通過(guò)定期的健康檢查,可以及時(shí)發(fā)現(xiàn)并解決可能導(dǎo)致應(yīng)用程序中斷或故障的問(wèn)題,確保集群的穩(wěn)定性和可靠性。 將列出所有節(jié)點(diǎn)的狀態(tài),包括節(jié)點(diǎn)的名稱、狀態(tài)、版

    2024年04月16日
    瀏覽(52)
  • 第16關(guān) 革新云計(jì)算:如何利用彈性容器與托管K8S實(shí)現(xiàn)極速服務(wù)POD擴(kuò)縮容

    第16關(guān) 革新云計(jì)算:如何利用彈性容器與托管K8S實(shí)現(xiàn)極速服務(wù)POD擴(kuò)縮容

    ------ 課程視頻同步分享在今日頭條和B站 天下武功,唯快不破! 大家好,我是博哥愛(ài)運(yùn)維。這節(jié)課給大家講下云平臺(tái)的彈性容器實(shí)例怎么結(jié)合其托管K8S,使用混合服務(wù)架構(gòu),帶來(lái)極致擴(kuò)縮容快感。 下面是全球主流云平臺(tái)彈性容器相關(guān)使用文檔: 這里以阿里云的ACK托管K8S平臺(tái)

    2024年02月04日
    瀏覽(19)
  • K8S集群中Pod與Pod之間網(wǎng)絡(luò)故障排查思路

    在K8S集群中,可能會(huì)出現(xiàn)Pod與Pod之間無(wú)法通信的現(xiàn)象,也就是說(shuō)Pod無(wú)法跨Node主機(jī)進(jìn)行通信,Pod與Pod之間網(wǎng)絡(luò)不通訊會(huì)導(dǎo)致無(wú)法請(qǐng)求Pod中的服務(wù),Apiserver也可能會(huì)無(wú)法獲取Pod的運(yùn)行狀態(tài),產(chǎn)生一系列問(wèn)題。 Pod與Pod之間網(wǎng)絡(luò)不通訊,很有可能是網(wǎng)絡(luò)組件產(chǎn)生了異常導(dǎo)致的。 排查

    2024年01月16日
    瀏覽(21)
  • 驗(yàn)證K8S集群pod之間傳輸速度過(guò)慢,導(dǎo)致pod之間業(yè)務(wù)無(wú)法正常交互

    原因: K8S部署完成后,但是pod之間無(wú)法進(jìn)行交互訪問(wèn),導(dǎo)致pod異常 定位思路: 通過(guò)啟動(dòng)兩個(gè)busybox容器,之間進(jìn)行scp傳輸文件,驗(yàn)證pod之間tcp連接是否正常 解決方法: 運(yùn)行第一個(gè)busybox 拷貝文件至busybox1 進(jìn)入第一個(gè)busybox1 進(jìn)入第二個(gè)busybox1 結(jié)論: 發(fā)現(xiàn)1K的文件可以相互拷貝

    2024年03月19日
    瀏覽(27)
  • 【Kubernetes】K8s 查看 Pod 的狀態(tài)

    NAME :Pod 的名稱。 READY :代表 Pod 里面有幾個(gè)容器,前面是啟動(dòng)的,后面是總數(shù), 1 / 1 1/1 1/1 。 STATUS :就是當(dāng)前 Pod 狀態(tài),最常見(jiàn)的就是 Running 正在運(yùn)行,最期望的狀態(tài),只要不是 Running 的就說(shuō)明有問(wèn)題,就算是 Running 的就不一定沒(méi)有問(wèn)題。 狀態(tài) 說(shuō)明 Pending 掛起 在執(zhí)行創(chuàng)建

    2024年01月15日
    瀏覽(138)
  • k8s 多容器pod進(jìn)入指定容器

    k8s 多容器pod進(jìn)入指定容器

    kubectl exec -it prometheus-prometheus-server-697cccff9c-qtrf7 -c prometheus-server sh

    2024年02月14日
    瀏覽(93)
  • k8s 不同node之間pod ip不通

    底層k8s使用calico網(wǎng)絡(luò),ipip網(wǎng)絡(luò)模式,kubevirt啟動(dòng)了2臺(tái)虛擬機(jī);在這兩臺(tái)虛擬機(jī)上再搭建k8s,calico網(wǎng)絡(luò),ipip網(wǎng)絡(luò)模式。 在虛擬機(jī)上的k8s上啟動(dòng)了2個(gè)pod,分布在不同的node上,這兩個(gè)pod不能ping通對(duì)方的pod ip。 1、calico無(wú)問(wèn)題; 2、主機(jī)路由無(wú)問(wèn)題。 修改虛擬機(jī)之上的k8s集群的c

    2024年02月13日
    瀏覽(25)
  • K8S內(nèi)部pod之間相互調(diào)用案例和詳解

    K8S內(nèi)部pod之間相互調(diào)用案例和詳解

    目錄 一、部署nginx容器 二、部署tomcat服務(wù) 三、使用nginx代理tomcat服務(wù) 四、測(cè)試 1、service是用于K8S的服務(wù)發(fā)現(xiàn)的重要組件,pod作為運(yùn)行業(yè)務(wù)的承載方式,要想被客戶端訪問(wèn)或者集群內(nèi)部其它服務(wù)訪問(wèn),就需要提供一個(gè)訪問(wèn)入口; ?2、傳統(tǒng)來(lái)說(shuō)ip+端口是普適的訪問(wèn)方式,但是

    2024年02月03日
    瀏覽(26)
  • K8S | 容器和Pod組件

    K8S | 容器和Pod組件

    對(duì)比軟件安裝和運(yùn)行; 作為研發(fā)人員,通常自己電腦的系統(tǒng)環(huán)境都是非常復(fù)雜,在個(gè)人的習(xí)慣上,是按照下圖的模塊管理電腦的系統(tǒng)環(huán)境; 對(duì)于「基礎(chǔ)設(shè)施」、「主機(jī)操作系統(tǒng)」、「系統(tǒng)軟件」來(lái)說(shuō),通常只做配置修改; 對(duì)于自行安裝的軟件環(huán)境來(lái)說(shuō),個(gè)人通常這樣分類:

    2024年02月11日
    瀏覽(115)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包