本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.24: Stargazer
我們很高興地宣佈 Kubernetes 1.24 的釋出,這是 2022 年的第一個版本!
此版本包含 46 項增強功能:14 項增強功能已進入穩定階段,15 項增強功能正在進入 Beta 階段,13 項增強功能正在進入 Alpha 階段。此外,還有兩項功能已被棄用,兩項功能已被移除。
主要主題
Dockershim 已從 kubelet 中移除
在 v1.20 中被棄用後,dockershim 元件已在 Kubernetes v1.24 中從 kubelet 中移除。從 v1.24 開始,如果您依賴 Docker Engine 作為容器執行時,則需要使用其他支援的執行時(例如 containerd 或 CRI-O)之一,或者使用 cri-dockerd。有關確保您的叢集為此次移除做好準備的更多資訊,請參閱本指南。
預設關閉 Beta API
新的 Beta API 將不會在叢集中預設啟用。現有的 Beta API 和現有 Beta API 的新版本將繼續預設啟用。
為釋出工件簽名
釋出工件使用 cosign 簽名進行簽名,並且實驗性地支援驗證映象簽名。為釋出工件進行簽名和驗證是為 Kubernetes 釋出過程增強軟體供應鏈安全性的一部分。
OpenAPI v3
Kubernetes 1.24 提供了以 OpenAPI v3 格式釋出其 API 的 Beta 支援。
儲存容量和卷擴充套件已正式釋出(GA)
儲存容量跟蹤支援透過 CSIStorageCapacity 物件暴露當前可用的儲存容量,並增強了使用延遲繫結的 CSI 卷的 Pod 的排程。
卷擴充套件增加了對調整現有持久卷大小的支援。
NonPreemptingPriority 進入穩定階段
此功能為 PriorityClasses 添加了一個新選項,可以啟用或停用 Pod 搶佔。
儲存外掛遷移
工作正在進行中,以將樹記憶體儲外掛的內部遷移到呼叫 CSI 外掛,同時保持原始 API。Azure Disk 和 OpenStack Cinder 外掛都已遷移。
gRPC 探針進入 Beta 階段
隨著 Kubernetes 1.24 的釋出,gRPC 探針功能已進入 Beta 階段並預設可用。您現在可以在 Kubernetes 內部為您的 gRPC 應用程式配置啟動、存活和就緒探針,而無需暴露 HTTP 端點或使用額外的可執行檔案。
Kubelet 憑據提供程式進入 Beta 階段
最初在 Kubernetes 1.20 中作為 Alpha 版釋出,kubelet 對映象憑據提供程式的支援現已進入 Beta 階段。這允許 kubelet 使用 exec 外掛動態檢索容器映象登錄檔的憑據,而不是將憑據儲存在節點的檔案系統上。
上下文日誌記錄進入 Alpha 階段
Kubernetes 1.24 引入了上下文日誌記錄,它使函式的呼叫者能夠控制日誌記錄的所有方面(輸出格式、詳細程度、附加值和名稱)。
避免服務 IP 分配衝突
Kubernetes 1.24 引入了一個新的可選功能,允許您為服務的靜態 IP 地址分配軟保留一個範圍。透過手動啟用此功能,叢集將優先從服務 IP 地址池中自動分配,從而降低衝突的風險。
服務的 ClusterIP
可以被分配
- 動態地,這意味著叢集將自動在配置的服務 IP 範圍內選擇一個空閒的 IP。
- 靜態地,這意味著使用者將在配置的服務 IP 範圍內設定一個 IP。
服務的 ClusterIP
是唯一的;因此,嘗試建立一個使用已被分配的 ClusterIP
的服務將返回一個錯誤。
動態 Kubelet 配置已從 Kubelet 中移除
在 Kubernetes 1.22 中被棄用後,動態 Kubelet 配置已從 kubelet 中移除。該功能將在 Kubernetes 1.26 中從 API 伺服器中移除。
與 CNI 版本相關的重大變更
在升級到 Kubernetes 1.24 之前,請驗證您正在使用/升級到一個已經過測試可以與此版本正常工作的容器執行時。
例如,以下容器執行時正在準備或已經準備好用於 Kubernetes
- containerd v1.6.4 及更高版本,v1.5.11 及更高版本
- CRI-O 1.24 及更高版本
在 containerd v1.6.0-v1.6.3 中,當 CNI 外掛未升級和/或 CNI 配置版本未在 CNI 配置檔案中宣告時,Pod 的 CNI 網路設定和拆除存在服務問題。containerd 團隊報告稱,“這些問題在 containerd v1.6.4 中已解決。”
使用 containerd v1.6.0-v1.6.3 時,如果您不升級 CNI 外掛和/或宣告 CNI 配置版本,您可能會遇到以下“不相容的 CNI 版本”或“銷燬沙箱網路失敗”的錯誤情況。
CSI 快照
此資訊是在初次釋出後新增的。
VolumeSnapshot v1beta1 CRD 已被移除。為 Kubernetes 和容器儲存介面 (CSI) 提供的卷快照和恢復功能,它提供了標準化的 API 設計 (CRD) 併為 CSI 卷驅動程式添加了 PV 快照/恢復支援,已在 v1.20 中進入 GA 階段。VolumeSnapshot v1beta1 在 v1.20 中被棄用,現已不受支援。有關更多資訊,請參閱 KEP-177: CSI Snapshot 和卷快照 GA 部落格。
其他更新
升級為穩定版
此版本中有十四項增強功能提升至穩定版
- 容器儲存介面 (CSI) 卷擴充套件
- Pod 開銷:計算與 Pod 沙箱相關但非特定容器的資源。
- 為 PriorityClasses 新增非搶佔選項
- 儲存容量跟蹤
- OpenStack Cinder 樹內驅動到 CSI 驅動的遷移
- Azure Disk 樹內驅動到 CSI 驅動的遷移
- 高效的 Watch 恢復:在 kube-apiserver 重啟後可以高效地恢復 Watch。
- Service Type=LoadBalancer Class 欄位:引入一個新的 Service 註解
service.kubernetes.io/load-balancer-class
,允許在同一叢集中有多個type: LoadBalancer
服務的實現。 - 索引式 Job:為具有固定完成計數的 Job 的 Pod 新增完成索引。
- 為 Jobs API 新增 Suspend 欄位:為 Jobs API 新增一個 suspend 欄位,以允許編排器建立 Job 時能更好地控制 Pod 的建立時機。
- Pod 親和性的 NamespaceSelector:為 Pod 親和性/反親和性規約新增一個
namespaceSelector
欄位。 - 控制器管理器的領導者遷移:kube-controller-manager 和 cloud-controller-manager 可以在高可用性控制平面中應用新的控制器到控制器管理器的分配,而無需停機。
- CSR 持續時間:擴充套件 CertificateSigningRequest API,增加一種機制,允許客戶端請求頒發的證書具有特定的持續時間。
重大變更
此版本有兩項重大變更
版本說明
請在我們的釋出說明中檢視 Kubernetes 1.24 釋出的全部詳情。
可用性
Kubernetes 1.24 可在 GitHub 上下載。要開始使用 Kubernetes,請檢視這些互動式教程,或使用容器作為“節點”來執行本地 Kubernetes 叢集,透過 kind。您也可以使用 kubeadm 輕鬆安裝 1.24。
釋出團隊
此版本的釋出離不開 Kubernetes 1.24 釋出團隊中所有敬業成員的共同努力。這個團隊齊心協力,交付了每個 Kubernetes 版本的所有組成部分,包括程式碼、文件、釋出說明等等。
特別感謝我們的釋出負責人 James Laverack,他帶領我們成功地完成了一個釋出週期,也感謝所有釋出團隊成員為向 Kubernetes 社群交付 v1.24 版本所付出的時間和努力。
釋出主題和徽標
Kubernetes 1.24: Stargazer

Kubernetes 1.24 的主題是 Stargazer(觀星者)。
從古代天文學家到建造詹姆斯·韋伯太空望遠鏡的科學家,世世代代的人們都曾懷著敬畏和驚奇仰望星空。星辰激勵著我們,點燃了我們的想象力,並在艱難海域的長夜裡為我們指引方向。
透過這次釋出,我們仰望星空,展望當我們的社群團結一致時所能實現的一切。Kubernetes 是全球數百名貢獻者和成千上萬支援著服務數百萬使用者的應用程式的終端使用者的共同傑作。每一個人都是我們天空中的一顆星,幫助我們規劃航向。
該釋出徽標由 Britnee Laverack 製作,描繪了一架望遠鏡對準星空和昴宿星團(Pleiades),在神話中通常被稱為“七姐妹”。數字七對 Kubernetes 專案來說尤其吉利,它也呼應了我們最初的“七號專案”(Project Seven)的名稱。
這個 Kubernetes 版本是為了那些仰望夜空並心懷好奇的人們而命名的——獻給所有的觀星者。✨
使用者亮點
- 檢視領先的零售電子商務公司 La Redoute 如何使用 Kubernetes 以及其他 CNCF 專案來轉變和簡化其軟體交付生命週期——從開發到運營。
- 為了確保對 API 呼叫的任何更改都不會導致任何中斷,Salt Security 將其微服務完全構建在 Kubernetes 之上,並透過 gRPC 進行通訊,同時 Linkerd 確保訊息被加密。
- 在從私有云遷移到公有云的努力中,Allianz Direct 的工程師在僅僅三個月內重新設計了其 CI/CD 流水線,同時成功地將 200 個工作流精簡到 10-15 個。
- 檢視英國金融科技公司 Bink 如何使用 Linkerd 更新其內部 Kubernetes 發行版,以構建一個雲無關的平臺,該平臺可根據需要進行擴充套件,同時讓他們能夠密切關注效能和穩定性。
- 荷蘭組織 Stichting Open Nederland 使用 Kubernetes,在短短一個半月內建立了一個測試入口網站,以幫助在荷蘭安全地重新開放活動。“入門測試”(Testen voor Toegang)平臺利用 Kubernetes 的效能和可擴充套件性,幫助個人每天預訂超過 40 萬次新冠病毒檢測預約。
- 透過與 SparkFabrik 合作並利用 Backstage,Santagostino 建立了開發者平臺 Samaritan,以集中化服務和文件,管理服務的整個生命週期,並簡化 Santagostino 開發人員的工作。
生態系統更新
- KubeCon + CloudNativeCon Europe 2022 將於 2022 年 5 月 16 日至 20 日在西班牙瓦倫西亞舉行!您可以在活動網站上找到有關會議和註冊的更多資訊。
- 在 2021 年雲原生調查中,CNCF 見證了創紀錄的 Kubernetes 和容器採用率。請檢視調查結果。
- Linux 基金會和雲原生計算基金會 (CNCF) 宣佈推出一個新的雲原生開發者訓練營,為參與者提供設計、構建和部署雲原生應用程式所需的知識和技能。檢視公告以瞭解更多資訊。
專案速度
CNCF K8s DevStats 專案彙總了許多與 Kubernetes 和各個子專案的速度相關的有趣資料點。這包括從個人貢獻到貢獻公司的數量等所有內容,展示了推動這個生態系統發展的努力的深度和廣度。
在 v1.24 釋出週期中,該週期持續了 17 周(1 月 10 日至 5 月 3 日),我們看到了來自 1029 家公司和 1179 位個人的貢獻。
即將舉行的釋出網路研討會
請於 2022 年 5 月 24 日星期二太平洋時間上午 9:45 至 11:00 加入 Kubernetes 1.24 釋出團隊成員,瞭解此版本的主要功能,以及棄用和移除的內容,以幫助規劃升級。有關更多資訊和註冊,請訪問 CNCF 線上計劃網站上的活動頁面。
參與其中
參與 Kubernetes 的最簡單方法是加入眾多與您興趣相符的特別興趣小組 (SIG) 之一。您有什麼想向 Kubernetes 社群廣播的內容嗎?請在我們每週的社群會議以及透過以下渠道分享您的聲音:
- 在 Kubernetes 貢獻者網站上了解更多關於為 Kubernetes 做貢獻的資訊
- 在 Twitter 上關注我們 @Kubernetesio 獲取最新更新
- 在 Discuss 上加入社群討論
- 在 Slack 上加入社群
- 在 Server Fault 上提問(或回答問題)。
- 分享你的 Kubernetes 故事
- 在部落格上閱讀更多關於 Kubernetes 的動態
- 瞭解更多關於 Kubernetes 釋出團隊的資訊