本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。

Kubernetes Gateway API 進階至 Beta

我們很高興地宣佈 Gateway API 的 v0.5.0 版本釋出。Gateway API 中幾個最重要的資源首次晉級為 Beta 版。此外,我們正在啟動一項新計劃,以探索如何將 Gateway API 用於網格,並引入新的實驗性概念,例如 URL 重寫。我們將在下文中詳細介紹所有這些內容。

什麼是 Gateway API?

Gateway API 是一組圍繞 Gateway 資源(代表底層網路閘道器/代理伺服器)的資源集合,旨在透過富有表現力、可擴充套件且面向角色的介面來實現強大的 Kubernetes 服務網路,這些介面得到了眾多供應商的實現和廣泛的行業支援。

Gateway API 最初被設想為著名的 Ingress API 的繼任者,其優點包括(但不限於)對許多常用網路協議(例如 HTTPTLSTCPUDP)的明確支援,以及對傳輸層安全(TLS)的緊密整合支援。特別是 Gateway 資源,它使得實現能夠將網路閘道器的生命週期作為一個 Kubernetes API 進行管理。

如果您是終端使用者,對 Gateway API 的某些優勢感興趣,我們邀請您深入瞭解並找到適合您的實現。在本次釋出時,已有十多種針對流行 API 閘道器和服務網格的實現,並提供了可供快速開始探索的指南。

開始使用

Gateway API 是一個官方的 Kubernetes API,就像 Ingress 一樣。Gateway API 代表了 Ingress 功能的超集,支援更高階的概念。與 Ingress 類似,Kubernetes 中沒有內建 Gateway API 的預設實現。相反,有許多不同的實現可用,提供了在底層技術方面的顯著選擇,同時提供了一致且可移植的體驗。

請檢視 API 概念文件,並瀏覽一些指南,開始熟悉這些 API 及其工作原理。當您準備好進行實際應用時,請開啟實現頁面,選擇一個屬於您可能已經熟悉的技術的實現,或者您叢集提供商用作預設的實現(如果適用)。Gateway API 是一個基於自定義資源定義 (CRD) 的 API,因此您需要在叢集上安裝 CRD才能使用該 API。

如果您對為 Gateway API 做出貢獻特別感興趣,我們非常歡迎您的加入!請隨時在倉庫上開啟一個新 issue,或參與討論。另請檢視社群頁面,其中包含 Slack 頻道和社群會議的連結。

釋出亮點

晉級為 Beta 版

v0.5.0 版本的釋出具有特別的歷史意義,因為它標誌著一些關鍵 API 成熟度提升至 Beta API 版本 (v1beta1)。

這一成就的標誌是完成了幾個晉級標準:

  • API 已被廣泛實現
  • 一致性測試為所有資源提供了基本覆蓋,並且有多個實現通過了測試。
  • 大部分 API 介面正在被積極使用。
  • Kubernetes SIG Network API 審查人員已批准晉級為 Beta 版。

有關 Gateway API 版本控制的更多資訊,請參閱官方文件。要了解未來版本的內容,請檢視後續步驟部分。

釋出渠道

此版本引入了實驗性(experimental)和標準(standard)釋出渠道,這使得在保持穩定性的同時,也能更好地支援實驗和迭代開發。

標準釋出渠道包括

  • 已晉級為 Beta 的資源
  • 已晉級為標準的欄位(不再被視為實驗性)

實驗性釋出渠道包括標準釋出渠道中的所有內容,外加

  • alpha API 資源
  • 被認為是實驗性且尚未晉級到標準渠道的欄位

釋出渠道在內部用於實現快速週轉的迭代開發,在外部用於向實現者和終端使用者表明功能穩定性。

在此版本中,我們添加了以下實驗性功能:

其他改進

有關 v0.5.0 版本中包含的完整變更列表,請參閱 v0.5.0 版本說明

用於服務網格的 Gateway API:GAMMA 計劃

一些服務網格專案已經實現了對 Gateway API 的支援。服務網格介面(SMI)API 和 Gateway API 之間的顯著重疊激發了 SMI 社群關於可能整合的討論

我們很高興地宣佈,服務網格社群,包括來自 Cilium Service Mesh、Consul、Istio、Kuma、Linkerd、NGINX Service Mesh 和 Open Service Mesh 的代表,正在共同組建 GAMMA 計劃,這是 Gateway API 子專案內的一個專門工作流,專注於用於網格管理和行政的 Gateway API。

該小組將為網格和網格鄰近的用例提供增強提案,包括對 Gateway API 規範的資源、增補和修改。

這項工作始於探索使用 Gateway API 進行服務間流量處理,並將繼續在認證和授權策略等領域進行增強。

後續步驟

在我們繼續為生產用例完善 API 的過程中,以下是我們將在下一個 Gateway API 版本中開展的一些重點工作:

如果此列表中有您想參與的專案,或者有您想倡導加入路線圖但未在此列表中的專案,請在 Kubernetes Slack 的 #sig-network-gateway-api 頻道或我們每週的社群電話會議中加入我們。