奧推網

選單
科技

40項增強功能更新,2個功能被棄用,Kubernetes 1.25釋出!

【CSDN 編者按】自 2014 年 Kubernetes 首次面世以來,這套基於開源且能在叢集伺服器上部署應用和容器的系統就備受業界喜愛。目前 Kubernetes 釋出了 1。25 版本,該版本共包含 40 項增強功能。其中 15 項增強功能進入Alpha 階段,10 項正升級至 Beta 階段,另有 13 項進入 Stable 穩定階段。此外,有兩項功能被棄用或移除。

責編 | 張紅月

出品 | CSDN(ID:CSDNnews)

Kubernetes(K8s)是用於自動部署,擴充套件和管理容器化應用程式的開源系統,同時,得益於有效降低成本、加快應用部署速度、讓軟體具有可擴充套件性與高可用性等優勢,Kubernetes 甚至一度被行業從業者視為是雲平臺基礎設施的未來與標準。下面我們參考官博釋出的《Kubernetes v1。25: Combiner》,一起來看看該版本的詳細變化。

此版本的主題是Combiner,可理解為組合器,下圖是該主題相配套的Logo。

K8s 專案本身是由很多很多單獨的元件組成的,這些元件組合在一起就形成了你今天看到的這個專案。它也是由許多人建立和維護的,所有這些人都有不同的技能、經驗、歷史和興趣,他們不僅作為釋出團隊,而且作為許多SIG,常年支援該專案和社群。

透過此次釋出,官方團隊也希望表達一下對合作、開放精神的崇敬之意。正因為來自全世界孤立開發者、作者和使用者的共同協作與努力,才形成了一股改變世界的聯合力量。K8s 1。25版本釋出了多達40項增強功能,如果沒有這些強有力地協作,就不會有這些增強功能的誕生。

受到釋出負責人的兒子Albert Song啟發,該版本的命名也是為每位參與者所設立,無論大家選擇何種貢獻方式,K8s的誕生,都離不開大家的開放合作。

接下來看看該版本都有哪些重要的主題更新。

值得關注的重要更新

PodSecurityPolicy 被移除,Pod Security Admission 升級至穩定階段

PodSecurityPolicy 在 1。21 版本中就已經遭到了棄用,因為對其進行可用性的改進與更新會帶來一些破壞性變化,為了更友好地替代,我們找到了 Pod Security Admission,目前在該版本中已正式升級到穩定版,如果你目前仍然依賴PodSecurityPolicy,可以參考官方說明遷移至 Pod Security Admission(https://kubernetes。io/docs/tasks/configure-pod-container/migrate-from-psp/)。

Ephemeral 容器也升級至穩定版

Ephemeral Containers 是在現有的 Pod 中只存在有限時長的容器。當你需要檢查另一個容器時,卻不能使用 kubectl exec,因為該容器已經崩潰或其影象缺乏除錯工具時,這對故障排除特別有用。Ephemeral 容器在 Kubernetes v1。23 中被評為 Beta 版,而在這個版本中,升級至穩定版。

cgroups v2 進入穩定版

Linux 核心中的 cgroups v2 AP 進入穩定版狀態已有 2 年時間了,K8s 必須支援它繼續在發行版上執行。cgroups v2 比 cgroups v1 提供了一些改進,更多資訊見cgroups v2文件(https://kubernetes。io/docs/concepts/architecture/cgroups/)。雖然 cgroups v1 將繼續被支援,但這一改進使我們能夠為其最終的廢棄和替代做好準備。

改進對 Widnows 支援

具體有:

效能儀表板增加了對 Windows 的支援

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

符合性測試增加了對 Windows 的支援

為 Windows Operational Readiness 建立了新的 GitHub 資源庫

容器登錄檔服務從 k8s。gcr。io 移至 registry。k8s。io

容器註冊服務從 k8s。gcr。io 移到 registry。k8s。io 已經合併了。更多細節請見wiki頁面(https://github。com/kubernetes/k8s。io/wiki/New-Registry-url-for-Kubernetes-(registry。k8s。io)),公告(https://groups。google。com/a/kubernetes。io/g/dev/c/DYZYNQ_A6_c/m/oD9_Q8Q9AAAJ)已發至 K8s 開發郵件列表。

SeccompDefault 升級至 Beta 版本

更多細節可參考《用seccomp限制容器的系統呼叫》(https://kubernetes。io/docs/tutorials/security/seccomp/#enable-the-use-of-runtimedefault-as-the-default-seccomp-profile-for-all-workloads)

將網路策略中的 endPort 晉升為穩定版

支援 endPort 欄位的網路策略提供者現在可以使用它來指定應用網路策略的埠範圍。以前,每個網路策略只能針對一個單一的埠。請注意,網路策略提供者必須支援 endPort 欄位。如果供應商不支援 endPort,並且在網路策略中指定了這個欄位,那麼建立的網路策略將只覆蓋埠欄位(單一埠)。

將本地臨時儲存容量隔離提升到穩定狀態

本地臨時儲存容量隔離功能提升到 GA。該功能在 1。8 版本中被引入 Alpha 版本,在 1。10 版本中轉為測試版本,現在是一個穩定功能。它提供了對 Pod 之間本地短暫儲存的容量隔離的支援,例如 EmptyDir,這樣,如果一個 Pod 對本地短暫儲存的消耗超過了該限制,就可以透過驅逐 Pod 來硬限制其對共享資源的消耗。

CSI Migration 進入穩定狀態

CSI 遷移是 SIG Storage 在幾個版本中一直在進行的努力。其目標是將樹內卷外掛轉移到樹外 CSI 驅動,並最終刪除樹內卷外掛。核心的 CSI 遷移功能轉移到了 GA。用於 GCE PD 和 AWS EBS 的 CSI 遷移功能也轉移到了 GA。用於 vSphere 的 CSI 遷移功能仍處於測試階段(但預設情況下是開啟的)。用於 Portworx 的 CSI 遷移功能轉為測試版(但預設是關閉的)。

CSI Ephemeral Volume 升至穩定狀態

CSI Ephemeral Volume 功能允許在 pod 規範中直接指定 CSI 卷,它們可用於直接在使用掛載卷的 pod 內注入任意狀態,如配置、秘密、身份、變數或類似資訊。這最初是在 1。15 中作為 alpha 功能引入的,目前升級到 GA。這個功能被一些 CSI 驅動所使用,比如秘密儲存 CSI 驅動。

CRD 驗證表示式升至 Beta

這使得使用通用表示式語言(CEL)宣告自定義資源的驗證方式成為可能。請參閱驗證規則指南(https://kubernetes。io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-rules)

伺服器端未知欄位驗證進入 Beta

將伺服器端欄位驗證(ServerSideFieldValidation)功能門推廣到測試版(預設為開啟)。這允許在 API 伺服器上選擇性地觸發模式驗證,在檢測到未知欄位時出錯。這允許從 kubectl 中移除客戶端驗證,同時保持相同的核心功能,即對包含未知或無效欄位的請求進行錯誤處理。

引入 KMS v2 API

引入 KMS v2alpha1 API,以增加效能、旋轉和可觀察性的改進。用 DEK 加密靜態資料(即Kubernetes Secrets),使用 AES-GCM 而不是 AES-CBC 進行 KMS 資料加密。不需要使用者操作。使用 AES-GCM 和 AES-CBC 的讀取將繼續被允許。

其它更新,升級到穩定狀態

此版本共包含了13個升級至穩定版的增強功能:

臨時容器

本地臨時儲存資源管理

CSI Ephemeral Volumes

CSI Migration - Core

將 kube-scheduler 的 ComponentConfig 升級到 GA

CSI遷移——AWS

CSI遷移——GCE

DaemonSets支援MaxSurge

NetworkPolicy埠範圍

cgroups v2

Pod Security Admission

在 Statefulsets 中新增 minReadySeconds

在 API 准入級別上權威地識別 Windows pods

棄用和刪除的功能

PodSecurityPolicy被刪除

GlusterFS外掛已從可用的樹內驅動中廢棄

關於K8s 1。25版本的詳細資訊,可以在https://github。com/kubernetes/kubernetes/releases/tag/v1。25。0檢視。

參考連結:https://kubernetes。io/blog/2022/08/23/kubernetes-v1-25-release/