日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Kubernetes的Ingress是怎樣工作的

Kubernetes的Ingress是怎樣工作的

作者:浩仔浩仔 2023-03-03 11:12:34
云計(jì)算
云原生 在Kubernetes中,Ingress對(duì)象是通過(guò)控制器(Ingress Controller)來(lái)實(shí)現(xiàn)的??刂破鲿?huì)根據(jù)Ingress對(duì)象的規(guī)則和后端服務(wù)的信息,自動(dòng)生成負(fù)載均衡器的配置,并將其應(yīng)用到負(fù)載均衡器上。這個(gè)過(guò)程是自動(dòng)化的,因此開(kāi)發(fā)者只需要定義Ingress對(duì)象,控制器就會(huì)自動(dòng)地為他們處理負(fù)載均衡和路由。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)子長(zhǎng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Kubernetes Ingress是一種管理應(yīng)用程序HTTP和HTTPS路由的機(jī)制。它通過(guò)在Kubernetes集群中創(chuàng)建一個(gè)Ingress資源對(duì)象來(lái)提供統(tǒng)一的訪問(wèn)入口,并將請(qǐng)求路由到不同的后端服務(wù),從而實(shí)現(xiàn)應(yīng)用程序的負(fù)載均衡和流量控制。

Ingress通過(guò)在集群中創(chuàng)建一個(gè)負(fù)載均衡器(Load Balancer)來(lái)實(shí)現(xiàn)請(qǐng)求的路由。這個(gè)負(fù)載均衡器可以是Kubernetes集群外的一個(gè)獨(dú)立負(fù)載均衡器(可以在集群的邊緣節(jié)點(diǎn)(邊緣節(jié)點(diǎn)是相對(duì)于云計(jì)算數(shù)據(jù)中心的,指與最終接入的用戶之間具有較少中間環(huán)節(jié)的網(wǎng)絡(luò)節(jié)點(diǎn),可以是某個(gè)機(jī)房或者某個(gè)物理設(shè)備,相對(duì)于直接訪問(wèn)源站而言,終端用戶訪問(wèn)時(shí)有更好的響應(yīng)能力和連接速度。即可以與外部直接溝通的節(jié)點(diǎn))上部署DaemonSet,可以設(shè)置污點(diǎn)和容忍讓DaemonSet只跑在這些邊緣節(jié)點(diǎn)上,然后使用hostNetwork,讓外部可以直接訪問(wèn)Ingress Controller),也可以是Kubernetes集群內(nèi)的一個(gè)Service資源對(duì)象(通過(guò)NodePort把Ingress Controller暴露出來(lái))。當(dāng)負(fù)載均衡器接收到請(qǐng)求后,它會(huì)根據(jù)請(qǐng)求的主機(jī)名和路徑將請(qǐng)求路由到相應(yīng)的后端服務(wù)。

在Kubernetes中,Ingress對(duì)象是通過(guò)控制器(Ingress Controller)來(lái)實(shí)現(xiàn)的??刂破鲿?huì)根據(jù)Ingress對(duì)象的規(guī)則和后端服務(wù)的信息,自動(dòng)生成負(fù)載均衡器的配置,并將其應(yīng)用到負(fù)載均衡器上。這個(gè)過(guò)程是自動(dòng)化的,因此開(kāi)發(fā)者只需要定義Ingress對(duì)象,控制器就會(huì)自動(dòng)地為他們處理負(fù)載均衡和路由。

Ingress對(duì)象的規(guī)則由Host、Path和Service三個(gè)部分組成。其中,Host是請(qǐng)求的主機(jī)名,Path是請(qǐng)求的路徑,Service是請(qǐng)求被路由到的后端服務(wù)(Ingress Controller需要通過(guò)service去找到對(duì)應(yīng)的pod)。一個(gè)Ingress對(duì)象可以包含多個(gè)規(guī)則,每個(gè)規(guī)則可以有多個(gè)路徑,每個(gè)路徑可以路由到不同的后端服務(wù)。

當(dāng)請(qǐng)求到達(dá)Ingress控制器時(shí),控制器會(huì)根據(jù)請(qǐng)求的主機(jī)名和路徑,選擇匹配的Ingress規(guī)則,并將請(qǐng)求路由到對(duì)應(yīng)的后端服務(wù)。這個(gè)過(guò)程通常是通過(guò)HTTP代理實(shí)現(xiàn)的,例如Nginx或HAProxy等。

總之,Kubernetes Ingress是一種非常方便的機(jī)制,可以幫助開(kāi)發(fā)者管理應(yīng)用程序的HTTP和HTTPS路由。它基于負(fù)載均衡器和控制器,實(shí)現(xiàn)了請(qǐng)求的自動(dòng)路由和負(fù)載均衡,為開(kāi)發(fā)者提供了一種簡(jiǎn)單而高效的應(yīng)用程序管理方式。

舉一個(gè)例子來(lái)說(shuō)明Ingress的工作原理。

假設(shè)有一個(gè)Kubernetes集群中有兩個(gè)后端服務(wù),分別是service1和service2,它們的地址分別為192.168.1.1和192.168.1.2?,F(xiàn)在我們想通過(guò)Ingress來(lái)實(shí)現(xiàn)請(qǐng)求的路由和負(fù)載均衡。

首先,我們需要在集群中創(chuàng)建一個(gè)Ingress對(duì)象,例如:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /service1
pathType: Prefix
backend:
service:
name: service1
port:
name: http
- path: /service2
pathType: Prefix
backend:
service:
name: service2
port:
name: http

這個(gè)Ingress對(duì)象包含了兩條規(guī)則,一條規(guī)則將example.com/service1路由到service1后端服務(wù),另一條規(guī)則將example.com/service2路由到service2后端服務(wù)。

接下來(lái),我們需要在集群中啟動(dòng)一個(gè)Ingress Controller來(lái)實(shí)現(xiàn)Ingress的功能。這個(gè)Controller可以是任何符合Kubernetes Ingress標(biāo)準(zhǔn)的控制器,例如Nginx或HAProxy等。在啟動(dòng)Controller時(shí),它會(huì)自動(dòng)地讀取集群中的Ingress對(duì)象,并根據(jù)Ingress對(duì)象的規(guī)則自動(dòng)生成負(fù)載均衡器的配置。

當(dāng)有一個(gè)請(qǐng)求到達(dá)Ingress控制器時(shí),控制器會(huì)根據(jù)請(qǐng)求的主機(jī)名和路徑,選擇匹配的Ingress規(guī)則,并將請(qǐng)求路由到對(duì)應(yīng)的后端服務(wù)。例如,當(dāng)有一個(gè)請(qǐng)求到達(dá)example.com/service1時(shí),控制器會(huì)將請(qǐng)求路由到service1后端服務(wù)的地址192.168.1.1上;當(dāng)有一個(gè)請(qǐng)求到達(dá)example.com/service2時(shí),控制器會(huì)將請(qǐng)求路由到service2后端服務(wù)的地址192.168.1.2上。

這樣,我們就成功地使用Ingress實(shí)現(xiàn)了請(qǐng)求的路由和負(fù)載均衡。通過(guò)Ingress,我們可以方便地管理應(yīng)用程序的HTTP和HTTPS路由,并實(shí)現(xiàn)請(qǐng)求的自動(dòng)路由和負(fù)載均衡,從而提高應(yīng)用程序的可靠性和可伸縮性。

可以在Kubernetes集群中創(chuàng)建多個(gè)Ingress對(duì)象,每個(gè)Ingress對(duì)象可以為不同的服務(wù)或服務(wù)版本配置不同的路由規(guī)則。這個(gè)特性使得在同一個(gè)集群中運(yùn)行多個(gè)應(yīng)用程序或版本成為可能。

當(dāng)有多個(gè)Ingress對(duì)象存在時(shí),每個(gè)Ingress對(duì)象最好設(shè)置不同的主機(jī)名或端口號(hào),以避免沖突。當(dāng)有多個(gè)Ingress對(duì)象的規(guī)則相互重疊時(shí),Kubernetes將會(huì)按照Ingress對(duì)象的創(chuàng)建順序來(lái)解析它們,直到找到一個(gè)匹配的規(guī)則為止。因此,當(dāng)存在多個(gè)Ingress對(duì)象時(shí),需要仔細(xì)考慮它們之間的優(yōu)先級(jí)和規(guī)則的沖突問(wèn)題,以避免不必要的問(wèn)題和安全隱患。


分享文章:Kubernetes的Ingress是怎樣工作的
本文來(lái)源:http://m.5511xx.com/article/dhcooid.html