本文已超過一年。較舊的文章可能包含過時的內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.25 中的移除與重大變更
隨著 Kubernetes 的成長和成熟,為了專案的健全性,某些功能可能會被棄用、移除或以改進功能取代。Kubernetes v1.25 包含數個重大變更和一項重大移除。
Kubernetes API 移除和棄用程序
Kubernetes 專案針對功能制定了完善的文件化 棄用政策。此政策聲明,只有在較新、穩定的相同 API 版本可用時,才能棄用穩定的 API,且 API 針對每個穩定性層級都有最短生命週期。已棄用的 API 是指已標記為在未來 Kubernetes 版本中移除的 API;它將繼續運作直到移除(自棄用起至少一年),但使用將導致顯示警告。已移除的 API 在目前版本中不再可用,此時您必須移轉至使用替代方案。
- 一般可用 (GA) 或穩定的 API 版本可能會標記為已棄用,但絕不能在 Kubernetes 的主要版本中移除。
- Beta 或預先發布的 API 版本在棄用後必須支援 3 個版本。
- Alpha 或實驗性 API 版本可能會在任何版本中移除,恕不另行棄用通知。
無論 API 是因為功能從 Beta 升級到穩定而移除,還是因為該 API 沒有成功而移除,所有移除都符合此棄用政策。每當移除 API 時,都會在文件中溝通移轉選項。
關於 PodSecurityPolicy 的注意事項
在 Kubernetes v1.25 中,我們將在 v1.21 中棄用 PodSecurityPolicy 後將其移除。PodSecurityPolicy 功成身退,但其複雜且經常令人困惑的用法需要變更,但不幸的是,這些變更會是重大變更。為了應對這個問題,它將被移除,轉而支持替代方案 Pod Security Admission,後者也將在此版本中升級為穩定版。如果您目前依賴 PodSecurityPolicy,請遵循 移轉至 Pod Security Admission 的說明。
Kubernetes v1.25 的重大變更
除了移除 PodSecurityPolicy 之外,Kubernetes v1.25 還將包含數個重大變更。
CSI 移轉
將樹內磁碟區外掛程式移至樹外 CSI 驅動程式的工作仍在繼續,核心 CSI 移轉功能將在 v1.25 中升級為 GA。這是完全移除樹內磁碟區外掛程式的重要一步。
儲存驅動程式的棄用和移除
數個磁碟區外掛程式正在被棄用或移除。
GlusterFS 將在 v1.25 中棄用。雖然已為其建構 CSI 驅動程式,但尚未維護。相容 CSI 驅動程式的移轉可能性 已討論過,但最終決定開始從樹內驅動程式棄用 GlusterFS 外掛程式。Portworx 樹內磁碟區外掛程式 也將在此版本中棄用。Flocker、Quobyte 和 StorageOS 樹內磁碟區外掛程式正在被移除。
Flocker、Quobyte 和 StorageOS 樹內磁碟區外掛程式將在 v1.25 中移除。這些外掛程式的使用者需要切換到等效的 CSI 驅動程式或替代儲存供應商。
變更為 vSphere 版本支援
從 Kubernetes v1.25 開始,樹內 vSphere 磁碟區驅動程式將不再支援 7.0u2 之前的任何 vSphere 版本。Kubernetes v1.25 發布後,請查看 v1.25 詳細發行說明,以取得有關如何處理此問題的更多建議。
清理 IPTables 鏈所有權
在 Linux 上,Kubernetes(通常)會建立 iptables 鏈,以確保網路封包到達。雖然這些鏈及其名稱一直是內部實作細節,但某些工具一直依賴該行為。將僅支援 Kubernetes 內部使用案例。從 v1.25 開始,Kubelet 將逐步朝向不建立 nat
表格中的以下 iptables 鏈邁進
KUBE-MARK-DROP
KUBE-MARK-MASQ
KUBE-POSTROUTING
此變更將透過 IPTablesCleanup
功能閘道逐步實施。雖然這並非正式的棄用,但某些終端使用者已開始依賴 kube-proxy
的特定內部行為。Kubernetes 專案整體希望明確表示,不支援依賴這些內部細節,且未來的實作將在此處變更其行為。
展望未來
Kubernetes 1.26 計劃移除的官方 API 清單 為
- Beta 版 FlowSchema 和 PriorityLevelConfiguration API (flowcontrol.apiserver.k8s.io/v1beta1)
- Beta 版 HorizontalPodAutoscaler API (autoscaling/v2beta2)
想了解更多資訊嗎?
棄用會在 Kubernetes 發行說明中宣布。您可以在以下版本的發行說明中查看待處理棄用的公告
- Kubernetes 1.21
- Kubernetes 1.22
- Kubernetes 1.23
- Kubernetes 1.24
- 我們將在 Kubernetes 1.25 的 CHANGELOG 中正式宣布隨附的棄用。
如需有關棄用和移除程序的資訊,請查看官方 Kubernetes 棄用政策 文件。