剛剛,Kubernetes 1.24正式發(fā)布
今天,我們很高興地向大家宣布,Kubernetes 1.24暨2022年的首個版本已經(jīng)正式發(fā)布!
1.24版本涉及46項增強功能:其中14項已升級為穩(wěn)定版,15項進(jìn)入beta階段,13項則剛剛進(jìn)入alpha階段。此外,另有2項功能被棄用、2項功能被刪除。
—?1?—
從kubelet中移除dockershim
自1.20版本被棄用之后,dockershim組件終于在1.24的kubelet中被刪除。從1.24開始,大家需要使用其他受到支持的運行時選項(例如containerd或CRI-O);如果您選擇Docker Engine作為運行時,則需要使用cri-dockerd。關(guān)于dockershim移除的更多詳細(xì)信息,請參閱本指南[1]。
各beta API默認(rèn)關(guān)閉
在默認(rèn)情況下,新的各beta API不會在集群內(nèi)得到啟用。但全部原有beta API及其新版本將在1.24中繼續(xù)默認(rèn)啟用。
簽名發(fā)布工件
在1.24版本中,發(fā)布工件將使用cosign進(jìn)行簽名,同時提供實驗性的鏡像簽名驗證支持。發(fā)布工件的簽名與驗證屬于Kubernetes軟件發(fā)布供應(yīng)鏈的安全性改進(jìn)舉措之一。
OpenAPI v3
Kubernetes 1.24開始為API的OpenAPI v3發(fā)布格式提供beta支持。
存儲容量與存儲卷擴(kuò)展雙雙迎來通用版本
存儲容量跟蹤通過CSIStorageCapacity對象公開當(dāng)前可用的存儲容量,并對使用后續(xù)綁定的CSI存儲卷的pod進(jìn)行調(diào)度增強。
存儲卷擴(kuò)展則新增對現(xiàn)有持久卷的重新調(diào)整功能。
NonPreemptingPriority迎來穩(wěn)定版
此功能為PriorityClasses添加了新的選項,可開啟或關(guān)閉Pod搶占機制。
存儲插件遷移
目前Kubernetes開發(fā)團(tuán)隊正在遷移樹內(nèi)存儲插件,希望在實現(xiàn)CSI插件的同時、保持原有API的正常起效。Azure Disk與OpenStack Cinder等插件已經(jīng)完成了遷移。
gRPC探針升級至beta版
在1.24版本中,gRPC探針功能已經(jīng)進(jìn)入beta階段且默認(rèn)啟用。現(xiàn)在,大家可以在Kubernetes中為自己的gRPC應(yīng)用程序原生配置啟動、活動與就緒探測,而且無需公開HTTP商戰(zhàn)或者使用額外的可執(zhí)行文件。
Kubelet證書提供程序升級至beta版
最初在Kubernetes 1.20版本中以alpha版亮相的kubelet鏡像證書提供程序現(xiàn)已升級至beta版。現(xiàn)在,kubelet將使用exec插件動態(tài)檢索容器鏡像注冊表的憑證,而不再將憑證存儲在節(jié)點文件系統(tǒng)之上。
上下文日志記錄進(jìn)入alpha階段
Kubernetes 1.24還引入了上下文日志記錄功能,允許函數(shù)調(diào)用方能夠控制日志記錄的各項細(xì)則(包括輸出格式、詳盡程度、附加值和名稱)。
避免為服務(wù)分配IP時發(fā)生沖突
Kubernetes 1.24引入了一項新的選擇性功能,允許用戶為服務(wù)的靜態(tài)IP分配地址保留一個軟范圍。通過手動啟用此項功能,集群將從您指定的服務(wù)IP池中自動獲取地址,從而降低沖突風(fēng)險。
也就是說,服務(wù)的ClusterIP能夠以下列方式分配:
動態(tài)分配,即集群將在配置的服務(wù)IP范圍內(nèi)自動選擇一個空閑IP。
靜態(tài)分配,意味著用戶需要在已配置的服務(wù)IP范圍內(nèi)指定一個IP。
服務(wù)ClusterIP是唯一的;因此若嘗試使用已被分配的ClusterIP進(jìn)行服務(wù)創(chuàng)建,則會返回錯誤結(jié)果。
從kubelet中移除動態(tài)kubelet配置
在Kubernetes 1.22版本中被棄用后,動態(tài)kubelet配置現(xiàn)已從kubelet中正式移除。在未來的1.26版本中,此功能還將從API服務(wù)器中刪除。
—?2?—
在升級至1.24之前,請確認(rèn)并測試你所使用的容器運行時能夠在新版本中正常工作。
例如,以下容器運行時已經(jīng)或即將全面兼容Kubernetes 1.24:
containerd v1.6.4及更高,v1.5.11及更高
CRI-O 1.24及更高
若CNI插件尚未升級且/或CNI配置文件中未聲明CNI配置版本時,則containerd v1.6.0-v1.6.3版本將導(dǎo)致Pod CNI網(wǎng)絡(luò)setup及tear down發(fā)生問題。containerd團(tuán)隊報告稱,“這些問題已經(jīng)在containerd v1.6.4中得到解決。”
在containerd v1.6.0-v1.6.3時,如果你未升級CNI插件且/或聲明CNI配置版本,則可能遇到“CNI版本不兼容”或“無法為沙箱刪除網(wǎng)絡(luò)”等錯誤。
—?3?—
畢業(yè)至穩(wěn)定版
在1.24版本中,共有14項增強功能迎來穩(wěn)定版:
容器存儲接口(CSI)存儲卷擴(kuò)展
Pod Overhead:統(tǒng)計綁定至Pod沙箱、但未綁定至指定容器的資源。
向PriorityClasses添加非搶占選項
存儲容量跟蹤
OpenStack Cinder In-Tree遷移至CSI Driver
Azure Disk In-Tree遷移至CSI Driver
高效watch恢復(fù):可在kube-apiserver重啟后,對watch進(jìn)行高效恢復(fù)
服務(wù)類型=負(fù)載均衡器類字段:引入一種新的服務(wù)注釋service.kubernetes.io/load-balancer-class,允許在同一集群中實現(xiàn)多種type: LoadBalancer服務(wù)。
索引作業(yè):為具有固定完成計數(shù)的作業(yè)Pod添加完成索引。
為Jobs API添加暫停字段:為Jobs API添加暫停字段,這樣編排程序即可創(chuàng)建作業(yè)、從而更好地控制Pod創(chuàng)建時間。
Pod Affinity NamespaceSelector:為Pod親和性/反親和性規(guī)范添加namespaceSelector字段。
面向控制器管理器的leader遷移:kube-controller-manager與cloud-controller-manager現(xiàn)可在HA控制平面中使用新的控制器到控制器管理器分配功能,全程無需停機。
CSR持續(xù)時間:為CertificateSigningRequest API提供新的擴(kuò)展機制,允許客戶端為已頒發(fā)的證書請求特定持續(xù)時長。
重要變更
1.24版本包含2項重要變更:
移除Dockershim
默認(rèn)關(guān)閉各Beta APIs
發(fā)布說明
關(guān)于Kubernetes 1.24版本的更多詳細(xì)信息,請參閱我們的發(fā)布說明[2]。
發(fā)布情況
Kubernetes 1.24現(xiàn)已在GitHub[3]上開放下載。要開始使用Kubernetes,請參閱各交互式教程[4],或在kind[5]中使用容器作為“節(jié)點”運行您的本地Kubernetes集群。你也可以通過kubeadm[6]輕松安裝Kubernetes 1.24。
發(fā)布團(tuán)隊
如果沒有Kubernetes發(fā)布團(tuán)隊中各位成員的共同努力,1.24版本將無法與大家見面。開發(fā)團(tuán)隊團(tuán)結(jié)一致、共同帶來了Kubernetes各個版本中的所有代碼、文檔、發(fā)布說明等寶貴成果。
這里要特別感謝發(fā)布負(fù)責(zé)人James Laverack為了Kubernetes的穩(wěn)定更新做出的指導(dǎo),也感謝每位團(tuán)隊成員為1.24版本投入的時間和精力。
發(fā)布主題與Logo

Kubernetes 1.24的主題為Stargazer,即觀星者。
從古代天文學(xué)家到如今建造詹姆斯·韋伯太空望遠(yuǎn)鏡的科學(xué)家,人類世世代代懷著敬畏與好奇仰望著星空。繁星啟發(fā)了我們、激發(fā)著我們的想象力,也在一個又一個漂泊的夜晚為船員們指示著前進(jìn)的方向。
通過此版本,我們再次將目光投向星空,象征著整個社區(qū)齊聚一堂、遙望前路。Kubernetes社區(qū)聚集著全球數(shù)百名貢獻(xiàn)者和成千上萬的最終用戶,并最終支撐起數(shù)以百萬計的運行服務(wù)。每一位參與者都如同一顆星斗,在夜空中幫助我們規(guī)劃航向。
1.24版本的發(fā)行l(wèi)ogo由Britnee Laverack制作,圖中一架望遠(yuǎn)鏡遙指空中的昴宿星團(tuán),也就是神話中的七仙女星。數(shù)字“七”也是Kubernetes的幸運數(shù),畢竟最早我們曾把項目定名為“Project Seven”。
所以我們決定在1.24版本中回歸初心,找回探索寰宇的項目使命。今天,我們都是“觀星者”?
項目進(jìn)度
CNCF K8s DevStats[7]項目匯總了Kubernetes及下轄各個子項目的進(jìn)度數(shù)據(jù)點,包括做出貢獻(xiàn)的個人及企業(yè)數(shù)量等等。感興趣的朋友可以點擊查看,了解Kubernetes生態(tài)系統(tǒng)是在怎樣的支持下才發(fā)展到如今的深度和廣度。
1.24版本的開發(fā)和發(fā)布周期為17周(1月10日至5月3日),期間我們共收到來自1029家企業(yè)和1179位個人的貢獻(xiàn)。
相關(guān)鏈接:
https://kubernetes.io/blog/2022/03/31/ready-for-dockershim-removal/
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md
https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0
https://kubernetes.io/docs/tutorials/
https://kind.sigs.k8s.io/
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
https://k8s.devstats.cncf.io/d/12/dashboards?orgId=1&refresh=15m
推薦閱讀:
推薦閱讀:
不是你需要中臺,而是一名合格的架構(gòu)師(附各大廠中臺建設(shè)PPT)
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
【中臺實踐】華為大數(shù)據(jù)中臺架構(gòu)分享.pdf
