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

更新 NGINX-Ingress 以使用穩定的 Ingress API

對於所有 Kubernetes API,都存在一個建立、維護和最終棄用的流程,一旦它們成為 GA。networking.k8s.io API 群組也不例外。即將到來的 Kubernetes 1.22 版本將移除幾個與網路相關的已棄用 API

  • networking.k8s.io/v1beta1 API 版本的 IngressClass
  • Ingress 的所有 Beta 版本:extensions/v1beta1networking.k8s.io/v1beta1

在 v1.22 Kubernetes 叢集上,您將能夠透過穩定的 (v1) API 存取 Ingress 和 IngressClass 物件,但無法透過其 Beta API 存取。此變更自 2017 年、2019 年的 1.16 Kubernetes API 棄用以及最近的 KEP-1453:將 Ingress API 升級到 GA 一直在討論中。

在社群會議期間,網路特殊興趣小組已決定繼續使用 Ingress-NGINX 0.47.0 版本支援舊於 1.22 的 Kubernetes 版本。Ingress-NGINX 的支援將在 Kubernetes 1.22 發布後持續六個月。Ingress-NGINX 的任何其他錯誤修復和 CVE 都將根據需要解決。

Ingress-NGINX 將擁有單獨的分支和 Ingress-NGINX 版本來支援此模型,反映 Kubernetes 專案流程。Ingress-NGINX 專案的未來版本將追蹤和支援最新版本的 Kubernetes。

Ingress NGINX 支援的 Kubernetes 版本
Kubernetes 版本Ingress-NGINX 版本注意事項
v1.22v1.0.0-alpha.2新功能,加上錯誤修復。
v1.21v0.47.x僅限錯誤修復,且僅適用於安全問題或崩潰。未宣布終止支援日期。
v1.20v0.47.x僅限錯誤修復,且僅適用於安全問題或崩潰。未宣布終止支援日期。
v1.19v0.47.x僅限錯誤修復,且僅適用於安全問題或崩潰。修復僅提供到 Kubernetes v1.22.0 發布後 6 個月。

由於 Kubernetes 1.22 中的更新,v0.47.0 將不適用於 Kubernetes 1.22。

您需要做什麼

團隊目前正在升級 ingress-nginx 以支援 v1 遷移,您可以在此處追蹤進度。
在完成對 Ingress v1 的支援之前,我們不會對 ingress-nginx 進行功能改進。

同時,為確保沒有相容性問題

  • 更新到最新版本的 Ingress-NGINX;目前為 v0.47.0
  • Kubernetes 1.22 發布後,請確保您使用的是最新版本的 Ingress-NGINX,該版本支援 Ingress 和 IngressClass 的穩定 API。
  • 使用叢集版本 >= 1.19 測試 Ingress-NGINX 版本 v1.0.0-alpha.2,並向專案 Github 頁面報告任何問題。

歡迎社群在此方面提供意見回饋和支援。Ingress-NGINX 子專案定期舉行社群會議,我們在會中討論此專案和其他問題。有關子專案的更多資訊,請參閱 SIG Network