国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

測試技能提升篇—k8s的網(wǎng)絡(luò)核心概念

開源
NodePort可以是物理機(jī)的IP(也可能是虛擬機(jī)IP)。每個Service都會在Node節(jié)點上開通一個端口,外部可以通過NodeIP:NodePort即可訪問Service里的Pod,和我們訪問服務(wù)器部署的項目一樣,IP:端口/項目名。

絕大多數(shù)剛剛接觸k8s的同學(xué)都會被其中的網(wǎng)絡(luò)相關(guān)知識點搞得暈頭轉(zhuǎn)向!各種IP,包括:Node IP,ClusterIP,Node IP糾結(jié)是啥東東?internet是怎樣訪問k8s的?k8s內(nèi)部各個pod之間又是如何通信的?本文就為大家來解決上述問題。

K8s中網(wǎng)絡(luò)核心概念介紹

Node IP

Node節(jié)點的IP地址,即物理網(wǎng)卡的IP地址。

NodePort可以是物理機(jī)的IP(也可能是虛擬機(jī)IP)。每個Service都會在Node節(jié)點上開通一個端口,外部可以通過NodeIP:NodePort即可訪問Service里的Pod,和我們訪問服務(wù)器部署的項目一樣,IP:端口/項目名。

Cluster IP

Service的IP地址,此為虛擬IP地址。外部網(wǎng)絡(luò)無法ping通,只有k8s集群內(nèi)部訪問使用。Cluster IP是一個虛擬的IP,但更像是一個偽造的IP網(wǎng)絡(luò),原因有以下幾點:

1.Cluster IP僅僅作用于k8s Service這個對象,并由k8s管理和分配P地址。

2.Cluster IP無法被ping,他沒有一個“實體網(wǎng)絡(luò)對象”來響應(yīng)。

3.Cluster IP只能結(jié)合Service Port組成一個具體的通信端口,單獨的Cluster IP不具備通信的基礎(chǔ),并且他們屬于k8s集群這樣一個封閉的空間。

4.在不同Service下的pod節(jié)點在集群間相互訪問可以通過Cluster IP。

Pod IP

Pod IP是每個Pod的IP地址,他是Docker Engine根據(jù)docker網(wǎng)橋的IP地址段進(jìn)行分配的,通常是一個虛擬的二層網(wǎng)絡(luò)

  • 同Service下的pod可以直接根據(jù)Pod IP相互通信。
  • 不同Service下的pod在集群間pod通信要借助于 cluster IP。
  • pod和集群外通信,要借助于node IP。

簡單地總結(jié):外部訪問時,先到Node節(jié)點網(wǎng)絡(luò),再轉(zhuǎn)到service網(wǎng)絡(luò),最后代理給pod網(wǎng)絡(luò)。

K8s如何實現(xiàn)網(wǎng)絡(luò)通信

三條核心原則

  1. 默認(rèn)情況下,Linux 將所有的進(jìn)程都分配到 root network namespace,以使得進(jìn)程可以訪問外部網(wǎng)絡(luò)。
  2. K8s為每一個 Pod 都創(chuàng)建了一個 network namespace。
  3. 在 K8s中,Pod 是一組 docker 容器的集合,這一組 docker 容器將共享一個 network namespace。Pod 中所有的容器都使用該 network namespace 提供的同一個 IP 地址以及同一個端口空間。所有的容器都可以通過 localhost 直接與同一個 Pod 中的另一個容器通信。

容器與容器之間網(wǎng)絡(luò)通信

pod中每個docker容器和pod在一個網(wǎng)絡(luò)命名空間內(nèi),所以ip和端口等等網(wǎng)絡(luò)配置,都和pod一樣,主要通過一種機(jī)制就是,docker的一種網(wǎng)絡(luò)模式,container,新創(chuàng)建的Docker容器不會創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個指定的容器共享 IP、端口范圍等

pod與pod之間網(wǎng)絡(luò)通信

從 Pod 的視角來看,Pod 是在其自身所在的 network namespace 與同節(jié)點上另外一個 network namespace 進(jìn)程通信。在Linux上,不同的 network namespace 可以通過 Virtual Ethernet Device (opens new window) 或 veth pair (兩塊跨多個名稱空間的虛擬網(wǎng)卡)進(jìn)行通信。為連接 pod 的 network namespace,可以將 veth pair 的一段指定到 root network namespace,另一端指定到 Pod 的 network namespace。每一組 veth pair 類似于一條網(wǎng)線,連接兩端,并可以使流量通過。節(jié)點上有多少個 Pod,就會設(shè)置多少組 veth pair。下圖展示了 veth pair 連接 Pod 到 root namespace 的情況:

為了讓 Pod 可以互相通過 root network namespace 通信,我們將使用 network bridge(網(wǎng)橋)。Linux Ethernet bridge 是一個虛擬的 Layer 2 網(wǎng)絡(luò)設(shè)備,可用來連接兩個或多個網(wǎng)段。網(wǎng)橋的工作原理是,在源于目標(biāo)之間維護(hù)一個轉(zhuǎn)發(fā)表,通過檢查通過網(wǎng)橋的數(shù)據(jù)包的目標(biāo)地址和該轉(zhuǎn)發(fā)表來決定是否將數(shù)據(jù)包轉(zhuǎn)發(fā)到與網(wǎng)橋相連的另一個網(wǎng)段。橋接代碼通過網(wǎng)絡(luò)中具備唯一性的網(wǎng)卡MAC地址來判斷是否橋接或丟棄數(shù)據(jù)。網(wǎng)橋?qū)崿F(xiàn)了ARP協(xié)議來發(fā)現(xiàn)鏈路層與 IP 地址綁定的 MAC 地址。當(dāng)網(wǎng)橋收到數(shù)據(jù)幀時,網(wǎng)橋?qū)⒃摂?shù)據(jù)幀廣播到所有連接的設(shè)備上(除了發(fā)送者以外),對該數(shù)據(jù)幀做出相應(yīng)的設(shè)備被記錄到一個查找表中。后續(xù)網(wǎng)橋再收到發(fā)向同一個 IP 地址的流量時,將使用查找表來找到對應(yīng)的 MAC 地址,并轉(zhuǎn)發(fā)數(shù)據(jù)包。下圖中cbr0就是網(wǎng)橋。

不同Node間通信原理

通常,集群中每個節(jié)點都被分配了一個 CIDR 網(wǎng)段(簡單的理解CIDR可以把幾個標(biāo)準(zhǔn)網(wǎng)絡(luò)合成一個大的網(wǎng)絡(luò)),指定了該節(jié)點上的 Pod 可用的 IP 地址段。一旦發(fā)送到該 CIDR 網(wǎng)段的流量到達(dá)節(jié)點,就由節(jié)點負(fù)責(zé)將流量繼續(xù)轉(zhuǎn)發(fā)給對應(yīng)的 Pod。下圖展示了兩個節(jié)點之間的數(shù)據(jù)報文傳遞過程。

pod與service之間網(wǎng)絡(luò)通信

Pod 的 IP 地址并非是固定不變的,隨著 Pod 的重新調(diào)度(例如水平伸縮、應(yīng)用程序崩潰、節(jié)點重啟等),Pod 的 IP 地址將會出現(xiàn)又消失。此時,Pod 的客戶端無法得知該訪問哪個 IP 地址。k8s中,Service 的概念用于解決此問題。Service管理了多個Pods,每個Service有一個虛擬的ip,要訪問service管理的Pod上的服務(wù)只需要訪問你這個虛擬ip就可以了,這個虛擬ip是固定的,當(dāng)service下的pod規(guī)模改變、故障重啟、node重啟時候,對使用service的用戶來說是無感知的,因為他們使用的service的ip沒有變。當(dāng)數(shù)據(jù)包到達(dá)Service虛擬ip后,數(shù)據(jù)包會被通過k8s給該servcie自動創(chuàng)建的負(fù)載均衡器路由到背后的pod容器。

我們知道Service 是 k8s中的一種服務(wù)發(fā)現(xiàn)機(jī)制,總結(jié)核心功能如下:

  • 通常通過service來關(guān)聯(lián)pod并提供對外訪問接口。
  • Service 實現(xiàn)負(fù)載均衡,可將請求均衡分發(fā)到選定這一組 Pod 中。
  • Service 通過 label selector 選定一組 Pod。

Service的ip分配策略

k8s的一個設(shè)計哲學(xué)是:盡量避免非人為錯誤產(chǎn)生的可能性。就設(shè)計 Service 而言,k8s應(yīng)該將您選擇的端口號與其他人選擇的端口號隔離開。為此,k8s為每一個 Service 分配一個該 Service 專屬的 IP 地址。為了確保每個 Service 都有一個唯一的 IP 地址,k8s在創(chuàng)建 Service 之前,先更新 etcd 中的一個全局分配表,如果更新失敗(例如 IP 地址已被其他 Service 占用),則 Service 不能成功創(chuàng)建。k8s使用一個后臺控制器檢查該全局分配表中的 IP 地址的分配是否仍然有效,并且自動清理不再被 Service 使用的 IP 地址。

Service的dns解析

k8s集群中運(yùn)行了一組 DNS Pod,配置了對應(yīng)的 Service,并由 k8s將 DNS Service 的 IP 地址配置到節(jié)點上的容器中以便解析 DNS names。集群中的每一個 Service(包括 DNS 服務(wù)本身)都將被分配一個 DNS name。默認(rèn)情況下,客戶端 Pod 的 DNS 搜索列表包括 Pod 所在的名稱空間以及集群的默認(rèn)域。例如:

假設(shè)名稱空間 A中有一個 Service 名為 foo:

  • 名稱空間 A中的 Pod 可以通過 nslookup foo 查找到該 Service。
  • 名稱空間 B中的 Pod 可以通過 nslookup foo.A 查找到該 Service。

Internet與k8s的網(wǎng)絡(luò)通信

讓Internet流量進(jìn)入k8s集群,這特定于配置的網(wǎng)絡(luò),可以在網(wǎng)絡(luò)堆棧的不同層來實現(xiàn):

  • NodePort

NodePort 服務(wù)是引導(dǎo)外部流量到你的服務(wù)的最原始方式。NodePort,正如這個名字所示,在所有節(jié)點(虛擬機(jī))上開放一個特定端口,任何發(fā)送到該端口的流量都被轉(zhuǎn)發(fā)到對應(yīng)服務(wù)。

  • Service LoadBalancer

如果你想要直接暴露服務(wù),這就是默認(rèn)方式。所有通往你指定的端口的流量都會被轉(zhuǎn)發(fā)到對應(yīng)的服務(wù)。它設(shè)有過濾條件,路由等功能。值得一提的是,如果是在本地開發(fā)測試環(huán)境里頭搭建的K8s,一般不支持Load Balancer也沒必要,因為通過NodePort做測試訪問就夠了。但是在生產(chǎn)環(huán)境或者公有云上的K8s,基本都支持自動創(chuàng)建Load Balancer。

  • Ingress控制器

它處于多個服務(wù)的前端,扮演著“智能路由”或者集群入口的角色。它的本質(zhì)上就是K8s集群中的一個比較特殊的Service(發(fā)布Kind: Ingress)。這個Service提供的功能主要就是7層反向代理(也可以提供安全認(rèn)證,監(jiān)控,限流和SSL證書等高級功能),功能類似Nginx。Ingress對外暴露出去是通過HostPort(80/443),可以和上面LoadBalancer對接起來。有了這個Ingress Service,我們可以做到只需購買一個LB+IP,就可以通過Ingress將內(nèi)部多個(甚至全部)服務(wù)暴露出去,Ingress會幫忙做代理轉(zhuǎn)發(fā)。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2023-09-11 15:35:25

2022-08-29 08:21:00

k8sDocker

2021-04-12 20:42:50

K8S端口內(nèi)存

2024-07-22 13:43:31

Kubernetes容器

2024-02-28 18:13:00

kubernetes云計算

2022-03-22 08:52:40

KubernetesCPU內(nèi)存資源

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-11-06 07:16:22

WasmK8s模塊

2022-02-11 23:11:09

Kubernetes集群容器化

2023-07-11 07:12:21

Hadoop部署mysql

2023-07-10 07:22:16

2023-06-06 08:14:18

核心Docker應(yīng)用程序

2021-04-29 08:43:17

k8s可觀測性Metrics

2023-09-06 08:12:04

k8s云原生

2023-11-07 08:23:05

2021-03-12 08:20:24

架構(gòu)網(wǎng)絡(luò)模型

2024-01-26 14:35:03

鑒權(quán)K8sNode

2023-08-29 10:27:32

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標(biāo)簽
點贊
收藏

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

免费国产自线拍一欧美视频| 精品福利一区二区| 亚洲综合自拍一区| 久久久免费人体| 日韩免费一区二区| 成人高清网站| 疯狂做受xxxx欧美肥白少妇 | 亚洲女人****多毛耸耸8| 国产一区二区在线视频播放| 美女视频网站黄色亚洲| 免费看成人午夜电影| 国产一区久久| 91精品天堂| 亚洲不卡av不卡一区二区| 国产激情综合五月久久| 一区二区导航| 欧美在线视频一区| 国产成人精品999在线观看| 91高清视频免费观看| 欧美自拍视频| 国产成人黄色av| 日韩电影二区| 91精品视频播放| 无需播放器亚洲| 国产精品一区二区三区在线观 | 在线看片黄色| 婷婷夜色潮精品综合在线| 在线播放91| 欧美综合欧美视频| caoporn97在线视频| 亚洲国产精品久久久久秋霞蜜臀| 福利成人导航| 这里只有精品久久| av成人男女| 欧美影院在线播放| 久久中文字幕av一区二区不卡| 国产精品视频999| 99久久亚洲精品| 成人看片视频| 日韩精品成人一区二区三区| 在线观看三级网站| 国产亚洲一区二区三区四区| 99色在线视频| 欧洲视频一区二区| a级片在线免费| 裸体女人亚洲精品一区| 自拍亚洲一区| 97超碰资源| 热久久一区二区| 久久这里只有精品23| 综合自拍亚洲综合图不卡区| 天堂av在线免费观看| 精品国精品自拍自在线| 欧美激情三区| 国产精品久久久久秋霞鲁丝| 久久精品国内一区二区三区水蜜桃 | 日本aa在线观看| 精品av导航| 91在线精品观看| 国产精品综合二区| 一道本在线免费视频| 在线观看视频一区二区欧美日韩| 97天天综合网| 91高清视频免费观看| 亚洲一区成人| 丰满少妇在线观看| 666欧美在线视频| 欧美一区一区| 国产精品久久久久久久免费大片| 国产不卡一区视频| 最新av在线网站| 亚洲精品少妇网址| 国产一区二区三区四区五区传媒| 午夜精品区一区二区三| 1区2区3区欧美| 18videosex性欧美麻豆| 久久久久久久久久久免费 | 精品综合久久久久久8888| 污污视频网站免费观看| 欧美色精品在线视频| 国产美女亚洲精品7777| 懂色一区二区三区av片| 91小视频在线免费看| 午夜不卡视频| 国产精品1234| 99re8在线精品视频免费播放| 极品白浆推特女神在线观看| 欧美多人爱爱视频网站| 日韩电影在线观看电影| 夜鲁很鲁在线视频| 欧美人交a欧美精品| 久久黄色影院| 视频一区二区在线播放| 欧美国产亚洲精品久久久8v| 日本欧美一区二区在线观看| 欧美精品一区二区三区涩爱蜜| 在线视频一区二区| 蘑菇福利视频一区播放| 一级在线免费观看| 97国产精品视频人人做人人爱| 国产精品一区2区| 9191在线| 亚洲精品欧美极品| 亚洲无人区一区| 国产女人18毛片水真多18精品| 中文字幕av日韩精品| 欧美日韩国产一区| 日本一本不卡| 人人澡人人爽人人揉| 久久精品99久久久香蕉| 理论片日本一区| 成人影院在线看| 成人免费在线一区二区三区| 亚洲一区二区av电影| 欧美日韩直播| 亚洲最大综合网| 久久精品99国产精品酒店日本| 国产一区亚洲一区| 国产亚洲成av人片在线观看| 青青草久久网络| 欧美精品在欧美一区二区少妇| 午夜视频精品| 成年人视频在线免费观看| 成人欧美一区二区三区在线观看 | 销魂美女一区二区三区视频在线| 天堂在线一二区| 国产精品入口免费视| 亚洲激情中文1区| 亚洲午夜久久| 超碰在线电影| 91在线免费视频| 五月激情丁香一区二区三区| 日本电影一区二区| 全色精品综合影院| 俄罗斯精品一区二区| 欧美日韩国产天堂| 日韩av电影免费观看高清完整版| 青青草原av在线| 婷婷四月色综合| 亚洲黄页视频免费观看| 国产精品中文字幕日韩精品| 99re久久| 欧美日韩亚洲一二三| 性欧美办公室18xxxxhd| 亚洲人妖av一区二区| 久久伦理在线| 成人高清免费在线播放| 好看的日韩精品视频在线| 欧美不卡在线视频| 国产精品一二三四| 97久久综合区小说区图片区| 一级网站免费观看| 久久国产精品久久精品国产| 日韩精品一区二区视频| 久久久蜜桃精品| 四季av在线一区二区三区| 午夜视频在线免费观看| 精品91一区二区三区| 欧美久久精品一级黑人c片| 亚洲男人天堂av网| 国产精品九九| 手机看片久久| 99热免费在线| 99久久99久久精品国产片| 日韩美一区二区三区| 风间由美性色一区二区三区| 中文无码日韩欧| 欧美婷婷久久五月精品三区| 台湾成人av| 欧美噜噜久久久xxx| 懂色av中文一区二区三区天美| 久久免费黄色| 香蕉成人app| www在线免费观看| 欧美亚洲色图视频| 国产精品扒开腿爽爽爽视频 | 国产精品综合一区二区三区| 99久久香蕉| 欧洲日本在线| 美女福利视频在线| 亚洲va欧美va国产综合剧情| 亚洲欧美中文日韩在线| 亚洲在线视频一区| 激情深爱一区二区| 欧美日韩在线二区| 天天综合av| 日韩黄色网址| 日本一本中文字幕| 亚洲中国色老太| 日韩一区二区精品视频| 欧美中文一区二区三区| 国产亚洲欧美一区在线观看| 久久国产毛片| 精品国产一区二区三区香蕉沈先生| 岛国av在线网站| 在线观看一级片| 亚洲爆乳无码专区| 日韩高清国产精品| 日韩av电影院| 国产亚洲精品久久久优势|