Kubernetes 1.25正式釋出!

danny_2018發表於2022-08-25

  Kubernetes 1.25已經正式釋出!

  此版本共包含40項增強功能。其中15項增強功能進入Alpha階段,10項正升級至Beta階段,另有13項進入Stable穩定階段。此外,有兩項功能被棄用或移除。

  — 1 —

  版本主題與徽標

  Kubernetes 1.25徽標:

  Kubernetes 1.25主題是Combiner,即組合器。

  Kubernetes專案本身是由眾多獨立元件所構成,這些元件集合起來,就形成了我們今天看到的專案形式。另外,Kubernetes也離不開眾多貢獻者的構建和維護,每位貢獻成員都有著不同的技能、經驗、歷史和興趣。他們有些加入了釋出團隊,有些則以特殊興趣小組(SIG)的方式負責專案的持續支援和社群運營。

  透過1.25版本,我們希望尊重這種協作和開放的精神。正是這種精神,讓全球各地的開發者、作家和使用者們凝聚成一股足以改變世界的力量。Kubernetes 1.25中包含多達40項增強功能,如果沒有這些工作夥伴的鼎力協同,專案根本不可能取得今天的進展。

  受到發行版負責人的兒子Albert Song的啟發,Kubernetes 1.25的版本名稱充分體現了每位參與者的重要意義,也期待各位在Kubernetes大家庭中繼續貢獻自己的一份特殊力量。

  — 2 —

  重要變動

  PodSecurityPolicy被移除;Pod Security Admission畢業為穩定版

  PodSecurityPolicy是在1.21版本中被決定棄用的,到1.25版本則將被正式刪除。之所以刪除此項功能,是因為想要進一步提升其可用性,就必須引入重大變更。為了保持專案整體穩定,只得加以棄用。取而代之的正是在1.25版本中畢業至穩定版的Pod Security Admission。如果你當前仍依賴PodSecurityPolicy,請按照Pod Security Admission遷移說明[1]進行操作。

  臨時容器迎來穩定版

  臨時容器是指在Pod中僅存在有限時長的容器。當我們需要檢查另一容器,但又不能使用kubectl exec時(例如在執行故障排查時),往往可以用臨時容器替代已經崩潰、或者映象缺少除錯工具的容器。臨時容器在Kubernetes 1.23版本中已經升級至Beta版,這一次則進一步升級為穩定版。

  對cgroups v2的穩定支援

  自Linux核心cgroups v2 API公佈穩定版至今,已經過去兩年多時間。如今,已經有不少發行版預設使用此API,Kubernetes自然需要支援該核心才能順利對接這些發行版。Cgroups v2對cgroups v1做出了多項改進,更多細節請參見cgroups v2說明文件[2]。雖然cgroups v1將繼續受到支援,但我們後續將逐步棄用v1並全面替換為v2。

  更好的Windows系統支援

  效能儀表板新增了對Windows系統的支援

  單元測試增加了對Windows系統的支援

  一致性測試增加了對Windows系統的支援

  為Windows Operational Readiness建立了新的GitHub倉庫

  將容器註冊服務從k8s.gcr.io移動至registry.k8s.io

  1.25版本已經合併將容器註冊服務從k8s.gcr.io移動至registry.k8s.io的變更。關於更多細節資訊,請參閱相應wiki頁面[3],我們也透過Kubernetes開發郵件清單發出了全面通報。

  SeccompDefault升級為Beta版

  SeccompDefault現已升級為beta版。關於更多詳細資訊,請參閱:

  https://kubernetes.io/docs/tutorials/security/seccomp/#enable-the-use-of-runtimedefault-as-the-default-seccomp-profile-for-all-workloads

  網路策略中的endPort已升級為穩定版

  網路策略中的endPort已經迎來GA通用版。支援endPort欄位的網路策略提供程式,現可使用該欄位來指定埠範圍以應用網路策略。在之前的版本中,每個網路策略只能指向單一埠。

  請注意,endPort的起效前提是必須得到網路策略提供程式的支援。如果提供程式不支援endPort,而您又在網路策略中指定了此欄位,則會建立出僅覆蓋埠欄位(單埠)的網路策略。

  本地臨時儲存容量隔離迎來穩定版

  本地臨時儲存容量隔離功能已經迎來GA通用版。這項功能最早於1.8版本中公佈了alpha版,在1.10中升級至beta,如今終於成為穩定功能。它通解為各Pod之間的本地臨時儲存提供容量隔離支援,例如EmptyDir。因此如果Pod對本地臨時儲存容量的消耗超過了該上限,則會驅逐該Pod以限制其對共享資源的佔用。

  核心CSI遷移迎來穩定版

  CSI遷移是SIG Storage在之前多個版本中做出的持續努力,目標是將樹記憶體儲卷外掛移動到樹外CSI驅動程式,並最終移除樹記憶體儲卷外掛。此次核心CSI遷移已迎來GA通用版,GCE PD和AWS EBS的CSI遷移功能也同步達到GA階段。vSphere的CSI遷移仍處於beta階段(但也已經預設啟用),Portworx的CSI遷移功能同樣處於beta階段(預設關閉)。

  CSI臨時儲存卷提升至穩定版

  CSI臨時儲存卷功能,允許使用者在臨時用例的pod規範中直接指定CSI儲存卷。如此一來,即可使用已安裝的儲存卷直接在pod內注入任意狀態,例如配置、機密、身份、變數或其他類似資訊。這項功能最初於1.15版本中推出alpha版,現已升級為GA通用版。某些CSI驅動程式會使用此功能,例如負責儲存秘密資訊的CSI驅動程式。

  CRD驗證表示式語言升級至Beta版

  CRD驗證表示式語言現已升級為beta版,因此宣告能夠使用通用表示式語言(CEL)驗證自定義資源。

  關於更多細節資訊,請參閱:

  https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-rules

  伺服器端未知欄位驗證升級為Beta版

  ServerSideFieldValidation功能門現已升級為Beta版(預設啟用),允許使用者在檢測到未知欄位時,有選擇地觸發API伺服器上的模式驗證機制。如此一來,即可從kubectl中刪除客戶端驗證,同時繼續保持對包含未知/無效欄位的請求報錯。

  引入KMS v2 API

  引入KMS v2 alpha1 API以提升效能,實現輪替與可觀察性改進。此API使用AES-GCM替代了AES-CBC,透過DEK實現靜態資料(即Kubernetes Secrets)加密。過程中無需額外使用者操作,而且仍然支援透過AES-GCM和AES-CBC進行讀取。

  關於更多細節資訊,請參閱:

  

  — 3 —

  其他更新

  穩定版升級

  1.25版本共包含13項升級至穩定版的增強功能:

  臨時容器

  本地臨時儲存資源管理

  CSI臨時儲存卷

  CSI遷移——核心

  將kube-scheduler ComponentConfig升級至GA通用版

  CSI遷移——AWS

  CSI遷移——GCE

  DaemonSets支援MaxSurge

  網路策略埠範圍

  cgroups v2支援

  Pod Security Admission

  將minReadySeconds新增至Statefulsets

  在API准入層級權威識別Windows pod

  棄用與移除

  1.25版本中棄用/移除了以下兩項功能:

  PodSecurityPolicy

  GlusterFS外掛(從樹內驅動程式移除)

  發行版說明

  關於Kubernetes 1.25版本的完整資訊,請參閱:

  

  釋出時間

  Kubernetes 1.25現已在GitHub[4]上開放下載。要開始使用Kubernetes,請參閱互動式教程[5],或使用容器為“節點”執行你的本地Kubernetes叢集()。你也可以透過kubeadm[6]輕鬆安裝1.25新版本。

  釋出團隊

  Kubernetes的發展壯大,離不開社群的支援、承諾和協同努力。我們的釋出團隊由敬業的社群志願者組成,他們共同構建了大量增強功能,共同成就瞭如今大家所熟悉並依賴的Kubernetes。

  這裡要感謝整個釋出團隊的辛勤工作,感謝你們帶來的Kubernetes 1.25新版本。我們還要特別感謝發行版負責人Cici Huang,正是她的付出把整個釋出團隊緊緊凝聚在一起。


來自 “ 分散式實驗室 ”, 原文作者:Jet;原文連結:https://mp.weixin.qq.com/s/PKoNkhPU6OhjuuPzELP-Rg,如有侵權,請聯絡管理員刪除。

相關文章