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

Kubernetes v1.25: Combiner

我們很高興地宣佈 Kubernetes v1.25 釋出!

此版本包含總共 40 項增強功能。其中 15 項增強功能進入 Alpha 階段,10 項進入 Beta 階段,13 項進入穩定階段。我們還有 2 個功能被棄用或移除。

Kubernetes 1.25: Combiner

Kubernetes v1.25 的主題是 Combiner

Kubernetes 專案本身由許許多多的獨立元件組成,這些元件組合在一起,構成了你今天所看到的樣子。它也是由許多人共同構建和維護的,他們都擁有不同的技能、經驗、背景和興趣,他們不僅作為釋出團隊,而且作為許多全年支援專案和社群的 SIG 小組,聯合起來。

透過此版本,我們希望向協作、開放的精神致敬,它將我們這些分佈在全球各地的孤立的開發人員、作者和使用者,匯聚成一股能夠改變世界的聯合力量。Kubernetes v1.25 包含了驚人的 40 項增強功能,如果沒有我們共同協作時所擁有的強大力量,這些功能將無一存在。

受我們釋出負責人之子 Albert Song 的啟發,Kubernetes v1.25 以你們每一個人命名,無論你選擇以何種方式將自己獨特的力量貢獻給這股匯聚成 Kubernetes 的聯合力量。

新功能(主要主題)

PodSecurityPolicy 被移除;Pod 安全准入(Pod Security Admission)進入穩定階段

PodSecurityPolicy 最初在 v1.21 中被棄用,隨著 v1.25 的釋出,它已被移除。為提高其可用性所需的更新會引入重大變更,因此有必要將其移除,以支援一個更友好的替代方案。這個替代方案是 Pod 安全准入(Pod Security Admission),它在此版本中進入穩定階段。如果你目前依賴於 PodSecurityPolicy,請遵循遷移到 Pod 安全准入的說明

臨時容器(Ephemeral Containers)進入穩定階段

臨時容器是指在現有 Pod 中僅存在有限時間的容器。這對於故障排查特別有用,當你需要檢查另一個容器但無法使用 kubectl exec 時(因為該容器已崩潰或其映象缺少除錯工具)。臨時容器在 Kubernetes v1.23 中進入 Beta 階段,在此版本中,該功能進入穩定階段。

對 cgroups v2 的支援進入穩定階段

Linux 核心 cgroups v2 API 宣佈穩定已經超過兩年了。由於一些發行版現在預設使用此 API,Kubernetes 必須支援它才能在這些發行版上繼續執行。cgroups v2 相比 cgroups v1 提供了多項改進,更多資訊請參見 cgroups v2 文件。雖然 cgroups v1 將繼續得到支援,但這項增強功能使我們為它最終被棄用和替換做好了準備。

改進了對 Windows 的支援

容器映象倉庫服務從 k8s.gcr.io 遷移至 registry.k8s.io

將容器映象倉庫從 k8s.gcr.io 遷移到 registry.k8s.io 已被合併。更多詳情,請參見維基頁面公告已傳送至 Kubernetes 開發郵件列表。

SeccompDefault 提升至 Beta 階段,請參閱教程使用 seccomp 限制容器的系統呼叫瞭解更多詳情。

網路策略中的 endPort 提升至 GA。支援 endPort 欄位的網路策略提供商現在可以用它來指定一個埠範圍來應用網路策略。以前,每個網路策略只能針對一個埠。

請注意,endPort 欄位必須得到網路策略提供商的支援。如果你的提供商不支援 endPort,並且在網路策略中指定了該欄位,則建立的網路策略將僅覆蓋 port 欄位(單個埠)。

本地臨時儲存容量隔離功能已進入 GA 階段。它在 1.8 版本中作為 Alpha 引入,在 1.10 版本中進入 Beta 階段,現在是一個穩定功能。它支援 Pod 之間的本地臨時儲存(如 EmptyDir)的容量隔離,這樣如果 Pod 對本地臨時儲存的消耗超過限制,就可以透過驅逐 Pod 來對其共享資源的使用進行硬性限制。

CSI 遷移是 SIG Storage 在幾個版本中一直致力於的一項持續性工作。目標是將樹內(in-tree)卷外掛遷移到樹外(out-of-tree)CSI 驅動程式,並最終移除樹內卷外掛。核心 CSI 遷移功能已進入 GA 階段。用於 GCE PD 和 AWS EBS 的 CSI 遷移也進入了 GA。用於 vSphere 的 CSI 遷移仍處於 Beta 階段(但預設啟用)。用於 Portworx 的 CSI 遷移進入 Beta 階段(但預設關閉)。

CSI 臨時卷功能允許在 Pod 規範中直接指定 CSI 卷以用於臨時場景。它們可用於透過掛載的卷直接向 Pod 內部注入任意狀態,例如配置、Secret、身份、變數或類似資訊。這最初在 1.15 中作為 Alpha 功能引入,現已進入 GA 階段。此功能被一些 CSI 驅動程式使用,例如 secret-store CSI 驅動程式

CRD 驗證表示式語言提升至 Beta 階段,這使得可以使用通用表示式語言 (CEL) 來宣告如何驗證自定義資源。請參閱驗證規則指南。

ServerSideFieldValidation 特性門控提升至 Beta(預設開啟)。這允許在 API 伺服器上選擇性地觸發模式驗證,當檢測到未知欄位時會報錯。這允許從 kubectl 中移除客戶端驗證,同時保持錯誤處理包含未知或無效欄位的請求的核心功能。

引入 KMS v2 API

引入 KMS v2alpha1 API,以增加效能、輪換和可觀察性方面的改進。使用 AES-GCM 而不是 AES-CBC 對靜態資料(即 Kubernetes Secrets)進行 DEK 加密。使用者無需任何操作。使用 AES-GCM 和 AES-CBC 的讀取將繼續被允許。更多資訊請參見使用 KMS 提供程式進行資料加密指南。

Kube-proxy 映象現在基於 distroless 映象

在以前的版本中,kube-proxy 容器映象是使用 Debian 作為基礎映象構建的。從這個版本開始,映象現在使用 distroless 構建。這一變化使映象大小減少了近 50%,並將安裝的軟體包和檔案數量減少到僅為 kube-proxy 工作所嚴格需要的那些。

其他更新

升級為穩定版

此版本共有 13 項增強功能提升至穩定階段

棄用和移除

此版本中,有兩個功能從 Kubernetes 中被棄用或移除

版本說明

Kubernetes v1.25 版本的完整詳情可在我們的版本說明中找到。

可用性

Kubernetes v1.25 可在 GitHub 上下載。要開始使用 Kubernetes,請檢視這些互動式教程,或使用容器作為“節點”來執行本地 Kubernetes 叢集,使用 kind。你也可以使用 kubeadm 輕鬆安裝 1.25。

釋出團隊

Kubernetes 的成功離不開其社群的支援、承諾和辛勤工作。每個釋出團隊都由敬業的社群志願者組成,他們共同努力,構建出構成你所依賴的 Kubernetes 版本的各個部分。這需要我們社群各個角落的人們的專業技能,從程式碼本身到其文件和專案管理。

我們衷心感謝整個釋出團隊,他們辛勤工作了數小時,以確保我們為社群提供一個堅實的 Kubernetes v1.25 版本。你們每個人都在構建這個版本中發揮了作用,並且你們都完成得非常出色。我們特別感謝我們無畏的釋出負責人 Cici Huang,她為確保我們擁有成功所需的一切所做的一切。

使用者亮點

生態系統更新

  • 2022 年北美 KubeCon + CloudNativeCon 將於 2022 年 10 月 24 日至 28 日在密歇根州底特律舉行!你可以在活動網站上找到有關會議和註冊的更多資訊。
  • KubeDay 系列活動將於 12 月 7 日以 KubeDay Japan 拉開帷幕!請在活動網站上註冊或提交提案。
  • 2021 年雲原生調查中,CNCF 見證了創紀錄的 Kubernetes 和容器採用率。請檢視調查結果

專案速度

CNCF K8s DevStats 專案彙總了許多與 Kubernetes 和各種子專案的發展速度相關的有趣資料點。這包括從個人貢獻到貢獻公司數量的各種資訊,展示了推動這個生態系統發展的努力的深度和廣度。

在 v1.25 釋出週期中(為期 14 周,從 5 月 23 日到 8 月 23 日),我們看到了來自 1065 家公司1620 名個人的貢獻。

即將舉行的釋出網路研討會

請於 2022 年 9 月 22 日星期四上午 10 點至 11 點(太平洋時間)加入 Kubernetes v1.25 釋出團隊成員,瞭解此版本的主要功能,以及棄用和移除的內容,以幫助規劃升級。更多資訊和註冊,請訪問活動頁面

參與其中

參與 Kubernetes 的最簡單方法是加入眾多與你的興趣相符的特別興趣小組(SIG)之一。有什麼想向 Kubernetes 社群廣播的嗎?在我們每週的社群會議上分享你的聲音,並透過以下渠道: