這篇文章已超過一年。較舊的文章可能包含過時的內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.24:觀星者
我們很高興宣布 Kubernetes 1.24 版本發布,這是 2022 年的第一個版本!
此版本包含 46 項增強功能:14 項增強功能已升級為穩定版,15 項增強功能正在轉為 Beta 版,13 項增強功能正在進入 Alpha 版。此外,有兩項功能已被棄用,另有兩項功能已被移除。
主要主題
從 kubelet 中移除 Dockershim
在 v1.20 中棄用後,dockershim 組件已從 Kubernetes v1.24 的 kubelet 中移除。從 v1.24 開始,您需要使用其他支援的執行階段 (例如 containerd 或 CRI-O),或者如果您依賴 Docker Engine 作為您的容器執行階段,則使用 cri-dockerd。有關確保您的叢集已準備好進行此移除的更多資訊,請參閱本指南。
預設關閉 Beta API
新的 Beta API 在叢集中預設將不會啟用。現有的 Beta API 和現有 Beta API 的新版本將繼續預設啟用。
簽署發布工件
發布工件使用 cosign 簽章進行簽署,並且對驗證映像簽章提供實驗性支援。發布工件的簽署和驗證是提高 Kubernetes 發布流程軟體供應鏈安全性的一部分。
OpenAPI v3
Kubernetes 1.24 為以 OpenAPI v3 格式發布其 API 提供 Beta 支援。
儲存容量和磁碟區擴展正式發布
儲存容量追蹤支援透過CSIStorageCapacity 物件公開目前可用的儲存容量,並增強對使用延遲綁定 CSI 磁碟區的 Pod 進行排程。
磁碟區擴展增加了對調整現有持久磁碟區大小的支援。
NonPreemptingPriority 升級為穩定版
此功能為 PriorityClasses 增加了一個新選項,可以啟用或停用 Pod 搶佔。
儲存外掛程式遷移
正在進行的工作是遷移樹狀結構內儲存外掛程式的內部結構,以便在維護原始 API 的同時調用 CSI 外掛程式。Azure Disk 和 OpenStack Cinder 外掛程式都已遷移。
gRPC 探針升級為 Beta 版
在 Kubernetes 1.24 中,gRPC 探針功能已進入 Beta 版,並且預設可用。您現在可以為您的 gRPC 應用程式在本機 Kubernetes 中設定啟動、存活和就緒探針,而無需公開 HTTP 端點或使用額外的可執行檔。
Kubelet 憑證提供者升級為 Beta 版
kubelet 對映像憑證提供者的支援最初在 Kubernetes 1.20 中作為 Alpha 版發布,現在已升級為 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 及更高版本
當 CNI 外掛程式未升級和/或 CNI 配置版本未在 CNI 配置檔案中宣告時,containerd v1.6.0–v1.6.3 中存在 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 快照 和 磁碟區快照 GA 部落格 以取得更多資訊。
其他更新
升級為穩定版
此版本有 14 項增強功能升級為穩定版
- 容器儲存介面 (CSI) 磁碟區擴展
- Pod 額外負荷:考量與 Pod 沙箱相關但不特定於容器的資源。
- 為 PriorityClasses 新增非搶佔選項
- 儲存容量追蹤
- OpenStack Cinder 樹狀結構內至 CSI 驅動程式遷移
- Azure Disk 樹狀結構內至 CSI 驅動程式遷移
- 高效的 Watch 恢復:在 kube-apiserver 重新啟動後,可以有效地恢復 Watch。
- 服務 Type=LoadBalancer 類別欄位:引入新的服務註釋
service.kubernetes.io/load-balancer-class
,允許在同一叢集中實作多個type: LoadBalancer
服務。 - 索引 Job:為具有固定完成計數的 Job 的 Pod 新增完成索引。
- 為 Job API 新增暫停欄位:為 Job API 新增暫停欄位,允許協調器在建立 Pod 時具有更多控制權。
- Pod 親和性命名空間選擇器:為 Pod 親和性/反親和性規格新增
namespaceSelector
欄位。 - 控制器管理器的領導者遷移:kube-controller-manager 和 cloud-controller-manager 可以在 HA 控制平面中應用新的控制器到控制器管理器分配,而不會停機。
- CSR 持續時間:擴展 CertificateSigningRequest API,使其具有允許用戶端請求頒發憑證的特定持續時間的機制。
重大變更
此版本有兩項重大變更
發行說明
請在我們的發行說明中查看 Kubernetes 1.24 版本的完整詳細資訊。
可用性
Kubernetes 1.24 可在 GitHub 上下載。若要開始使用 Kubernetes,請查看這些互動式教學課程,或使用 kind 使用容器作為「節點」執行本機 Kubernetes 叢集。您也可以使用 kubeadm 輕鬆安裝 1.24。
發布團隊
如果沒有 Kubernetes 1.24 發布團隊的敬業人士的共同努力,這個版本是不可能實現的。這個團隊齊心協力交付了構成每個 Kubernetes 版本的所有組件,包括程式碼、文件、發行說明等等。
特別感謝我們的發布負責人 James Laverack,感謝他引導我們成功完成發布週期,並感謝所有發布團隊成員為交付 Kubernetes 社群的 v1.24 版本所投入的時間和精力。
發布主題和標誌
Kubernetes 1.24:觀星者

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