外部用戶如何訪問(wèn)在Kubernetes上運(yùn)行的服務(wù)?

??本文將介紹如何使用NodePort、LoadBalancer、Ingress控制器三種方式將服務(wù)公開(kāi),供外部用戶訪問(wèn),并探討三者之間何時(shí)使用?如何選擇?

發(fā)布服務(wù)的三種方式:

  • NodePort 服務(wù)類型,將應(yīng)用程序公開(kāi)到每個(gè)節(jié)點(diǎn)上的端口上。
  • LoadBalancer 服務(wù)類型,創(chuàng)建一個(gè)指向Kubernetes服務(wù)的外部負(fù)載均衡器。
  • Ingress 管理外部訪問(wèn)的API對(duì)象,Ingress不會(huì)公開(kāi)任何端口或協(xié)議。

NodePort

??如果將service.type設(shè)置為NodePort,Kubernetes控制器將從--service-node-port-range(默認(rèn)值: 30000-32767)范圍內(nèi)分配一個(gè)端口,每個(gè)節(jié)點(diǎn)都將該端口代理到您的服務(wù)。雖然這對(duì)于大多數(shù)TCP或UDP客戶端來(lái)說(shuō)可能不是問(wèn)題,但HTTP或HTTPS流量最終暴露在非標(biāo)準(zhǔn)端口上。但是,NodePort旨在作為高級(jí)入口模型(例如,LoadBalancer)的構(gòu)建塊,當(dāng)您不需要生產(chǎn)環(huán)境URL時(shí),它對(duì)于開(kāi)發(fā)目的很方便。

LoadBalancer

??LoadBalance服務(wù)類型會(huì)自動(dòng)部署一個(gè)外部負(fù)載均衡器,該外部負(fù)載均衡器與特定的IP地址關(guān)聯(lián),并將外部流量路由到集群中的Kubernetes服務(wù)。但不像NodePort,并不是所有的云提供商都支持LoadBalance服務(wù)類型。如果您在支持LoadBalancer服務(wù)類型的環(huán)境中,這可能是路由流量的最安全,最簡(jiǎn)單的方法。

Ingress

??一個(gè)API對(duì)象,用于管理對(duì)集群中服務(wù)的外部訪問(wèn),通常是HTTP。Ingress可以提供負(fù)載均衡、SSL終止和基于名稱的虛擬主機(jī)。Ingress控制器通常不會(huì)消除對(duì)外部負(fù)載均衡器的需要,只是在負(fù)載均衡器后面增加了一個(gè)額外的路由和控制層。將HTTP和HTTPS以外的服務(wù)公開(kāi)到Internet時(shí),通常使用Service.Type = NodePort或 Service.Type = LoadBalancer類型的服務(wù)。

??我們剛剛介紹了將外部流量路由到Kubernetes集群的三種基本模式,Ingress控制器和Kubernetes服務(wù)都需要一個(gè)外部負(fù)載均衡器,并且如前所述,NodePort是不能直接用于生產(chǎn)的,但是,通常情況下,您的Kubernetes服務(wù)還將對(duì)入口施加其他要求。例如:

  • 基于內(nèi)容的路由(例如,基于HTTP方法,請(qǐng)求標(biāo)頭或特定請(qǐng)求的其他屬性的路由)
  • 彈性,例如速率限制,超時(shí)
  • 支持多種協(xié)議,例如WebSockets或gRPC
  • 認(rèn)證方式

特定于服務(wù)的入口管理

??因此,進(jìn)入策略的問(wèn)題實(shí)際上是選擇正確的方式來(lái)管理從外部負(fù)載均衡器到服務(wù)的流量。你有三種選擇:

  • 選擇一個(gè)Ingress控制器,例如 ingress-nginx
  • API Gateway,例如 Ambassador
  • 使用NGINX自定義部署

??假設(shè)您不想自己部署,那么如何在入口控制器和API網(wǎng)關(guān)之間進(jìn)行選擇?

參考鏈接:https://blog.getambassador.io/kubernetes-ingress-nodeport-load-balancers-and-ingress-controllers-6e29f1c44f2d

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我還未睡下,腦中反復(fù)回旋著兩個(gè)詞-“夜雨”“殘花”。 連綿了一天的雨似乎并不愿意就此打住。我聽(tīng)得見(jiàn)雨,像一個(gè)小嬌娘...
    喜云劉安閱讀 239評(píng)論 0 0
  • 大千世界,蕓蕓眾生,每個(gè)人都有自己獨(dú)特的性格特點(diǎn)。不同人的不同個(gè)性,也預(yù)示著不同的命運(yùn)。 中華民族的傳統(tǒng)文化歷來(lái)都...
    張閆岑閱讀 2,673評(píng)論 2 2
  • 來(lái)源于網(wǎng)友:jhjflystar 在高中時(shí),我們前后排就坐。 我們的差距,就像當(dāng)時(shí)的成績(jī)。 我第一,他第七。 之間...
    晨雨滴閱讀 3,181評(píng)論 0 0
  • 夏日午間街頭 行人寥寥 我懶洋洋的走在街上 看爬山虎掛滿墻頭 看噴泉靜靜地流 丟掉往日 急匆匆地節(jié)奏 緩慢也會(huì)讓人...
    安然_2018閱讀 225評(píng)論 0 3
  • 晚上去剪了個(gè)頭發(fā),到江邊晃蕩了一下,感受到武漢是越來(lái)越漂亮。 明天上班。
    伏伏王閱讀 260評(píng)論 0 0

友情鏈接更多精彩內(nèi)容