Kubernetes Gateway API 介紹

rife發表於2023-04-04

文字翻譯自: https://medium.com/geekculture/kubernetes-gateway-api-the-int...


您以前聽說過 SIG-NETWORK 的 Kubernetes Gateway API 嗎?好吧,可能你們中的大多數人都是第一次遇到這個話題。儘管如此,無論您是第一次聽說還是已經以某種方式使用過它,本部落格的目的都是為您提供一個基本的和高度的概述來理解這個主題。

從瞭解對 Kubernetes Gateway API 的需求到探索其用例,本部落格旨在為您提供全面的指南,介紹您需要了解的有關 Kubernetes 中服務網路革命性工具的所有資訊。

因此,在此部落格中,我們將涵蓋以下主題:

  • Ingress 資源的約束和限制
  • 四層路由如何暴露服務?
  • Kubernetes SIG-NETWORK 是啥,是什麼推動了他們的目標?
  • SIG-NETWORK 開啟 Kubernetes Gateway API 專案的原因是什麼?
  • 全面瞭解 Kubernetes Gateway API(第二部分,後續文章會介紹)

Ingress 資源的約束和限制

要了解對 Kubernetes Gateway API 的需求,我們需要了解 ingress 資源,該資源於 2015 年推出,並在 Kubernetes 1.19 中成為了穩定的 API。ingress 資源根據請求 host、path 或兩者的組合管理對適當 Kubernetes 服務的外部流量訪問。Ingress 資源有助於在同一個負載均衡器下公開多個服務,提供負載均衡、SSL 終止等。

雖然 ingress 資源是第 7 層路由(HTTP、HTTPS)的有效選擇,但當它需要為第 4 層流量(TCP、UDP)提供服務時,它就顯得不夠用了,後者常用於公開諸如資料庫、訊息代理等服務.

四層路由如何暴露服務?

要為資料庫、訊息代理等提供 L4 流量,您有多種選擇。

一種選擇是使用 kubectl port-forward 供開發人員進行內部訪問,以保持較低的雲成本。

另一種選擇是使用 LoadBalancer 型別的服務來對其他服務、開發人員或使用者進行外部訪問,這是第 4 層路由的簡單解決方案。

此外,您可以使用 Kong 或 Istio 等服務網格提供商,它們提供透過單個負載均衡器 IP 地址路由第 4 層和第 7 層流量的功能。

然而,值得注意的是,Istio 和 Kong 等服務網格提供商擁有自己的專有 API,導致在服務第 4 層和第 7 層流量方面缺乏標準化。

Kubernetes SIG-NETWORK 是什麼?

SIG-NETWORK 是 Kubernetes 社群中的一個子社群,專注於 Kubernetes 中的網路。SIG-NETWORK 負責開發、維護和支援 Kubernetes 平臺的網路相關元件。

SIG-NETWORK 旨在確保 Kubernetes 的網路功能穩健、可擴充套件,並能夠滿足各種用例的需求。

SIG-NETWORK 開啟 Kubernetes Gateway API 專案的原因是什麼?

目前,Kubernetes 空間中的解決方案提供了自己的閘道器解決方案和特定的 API,允許它們將第 4 層和第 7 層流量路由到 Kubernetes 服務。

SIG-NETWORK 社群已經啟動了 Kubernetes Gateway API,為四層和七層路由流量建立統一的 API 資源和標準。Kubernetes Gateway API 為 Kong 和 Istio 等不同的第三方解決方案提供了一個通用的介面。

雖然該專案目前處於測試版,但該領域的主要參與者已經採用。

Youtube video by kong on API Gateway and demo with their controller

Blog from Istio regards API Gateway

結語

總之,Kubernetes Gateway API 正在填補 Kubernetes Ingress 資源留下的標準化空白。儘管處於測試階段,但它已經得到了 Istio 和 Kong 等知名工具的支援。這證明了 Kubernetes Gateway API 有潛力成為在 Kubernetes 環境中管理網路流量的廣泛採用的解決方案。

相關文章