預計正式發布:2025年8月底?|?分類:Kubernetes
隨著2025年8月底的臨近,Kubernetes社區正緊鑼密鼓地準備下一個重要版本——v1.34的發布。本次更新并非簡單的功能疊加,而是在資源管理、安全身份、可觀測性和工作負載控制等核心領域的深度進化,旨在為運維開發者和集群管理員帶來更強大、更靈活、更安全的體驗。
本文將基于Kubernetes官方博客的前瞻信息,帶你一覽 v1.34 中最值得期待的幾大特性。
?一、核心特性解讀:更精細的控制能力
1. 動態資源分配(DRA)邁向穩定版
(特性狀態:Stable)
解決了什么問題?
傳統上,管理GPU、FPGA或其他特殊硬件設備需要依賴廠商特定的插件和復雜的配置,缺乏一個統一、標準化的模型。
v1.34的解決方案:
動態資源分配(Dynamic Resource Allocation, DRA)提供了一個聲明式的API,允許工作負載直接請求“設備類”(如?nvidia.com/gpu
),而無需關心設備的具體細節。Kubernetes調度器會負責尋找擁有該類資源的節點,并將設備分配信息注入Pod。
價值與影響:
-
標準化接口:為異構硬件資源管理提供了Kubernetes原生的標準化方案。
-
更靈活的拓撲感知:支持更復雜的設備選擇和組合邏輯。
-
穩定可靠:進入Stable階段意味著API已定型,可用于生產環境。
2. 使用ServiceAccount令牌進行鏡像拉取認證
(特性狀態:Beta)
解決了什么問題?
長期以來,從私有倉庫拉取鏡像都依賴于在集群中創建Secret
,并通過imagePullSecrets
字段引用。這些Secret是長期有效的,一旦泄露會帶來安全風險,且管理繁瑣。
v1.34的解決方案:
kubelet現在可以直接使用短期、自動輪換的ServiceAccount令牌來拉取私有鏡像。每個Pod可以使用與其關聯的ServiceAccount的身份進行認證,無需再創建和管理單獨的拉取Secret。
價值與影響:
-
提升安全性:基于OIDC的短期令牌取代了長期有效的Secret,極大降低了憑據泄露的風險。
-
簡化運維:無需再為每個命名空間手動創建和管理
imagePullSecrets
。 -
工作負載身份:為每個Pod提供了獨立的、可審計的身份憑證。
3. Deployment的Pod替換策略
(特性狀態:Alpha)
解決了什么問題?
在進行滾動更新或擴縮容時,Deployment會先創建新Pod,待其就緒后再終止舊Pod(maxSurge
)。這種方式雖然保證了服務可用性,但在資源緊張的集群中,可能會短暫導致資源使用量翻倍,從而引發問題。
v1.34的解決方案:
引入了.spec.podReplacementPolicy
字段,提供兩種策略:
-
TerminationStarted
(默認):現有行為。舊Pod一開始終止,就立即創建新Pod,追求最快的發布速度。 -
TerminationComplete
:新行為。等待舊Pod完全終止并釋放資源后,再創建新Pod。這能嚴格保證資源用量不超限,適合資源受限或Pod終止緩慢的場景。
價值與影響:
-
資源控制:為資源敏感型集群提供了更經濟的更新策略。
-
靈活性:允許根據工作負載特性在“速度”和“資源”之間做出權衡。
二、可觀測性與網絡:洞察力與性能的提升
4. 生產級追蹤特性
(特性狀態:Stable)
kubelet和API服務器關鍵操作的生產級分布式追蹤將從Beta進入Stable。它基于OpenTelemetry標準,提供了從API請求發起,到調度,再到節點上Pod創建的全鏈路、端到端的可視化能力。
-
價值:運維人員可以像查看應用日志一樣,直觀地看到Pod啟動過程中的每一步耗時和狀態,極大簡化了性能瓶頸排查和故障定位的復雜度。
5. Service的流量分發偏好
(特性狀態:Beta)
Service的spec.trafficDistribution
字段新增了PreferSameNode
選項。這意味著,如果一個Pod既是某個服務的客戶端又是服務端,流量將優先被路由到同一節點上的端點。
-
價值:進一步優化網絡延遲和資源消耗,特別適用于Sidecar模式或節點本地服務調用頻繁的架構。
三、配置與自動化:邁向更優雅的實踐
6. 支持KYAML:Kubernetes的YAML方言
社區正在推動一種更規范、歧義更少的YAML子集——KYAML。在v1.34中,kubectl
將支持以-o kyaml
輸出這種格式。
-
價值:通過強制引號、顯式括號等規則,減少YAML解析的歧義,提升配置文件的可讀性、可靠性和版本控制友好性。
7. HPA支持精細化自動擴縮控制容忍度配置
HorizontalPodAutoscaler (HPA) 現在允許在行為(spec.behavior
)中為擴容和縮容分別配置容忍度(tolerance
),覆蓋集群級別的默認值(10%)。
-
價值:解決了大規模應用縮容不靈敏的問題。例如,一個擁有1000個副本的應用,默認需要減少100個副本才會觸發縮容。現在你可以為它單獨設置一個更激進的縮容容忍度(如2%),實現更精細、更及時的自動擴縮容。
💡 總結與展望
Kubernetes v1.34 的更新清晰地傳達了三個核心方向:
-
成熟化:將經過社區充分驗證的關鍵特性(如DRA、追蹤)推向穩定,鼓勵生產環境采用。
-
精細化:在各個層面(資源、網絡、擴縮容)提供更細粒度的控制旋鈕,滿足多樣化場景的苛刻需求。
-
安全與簡化:不斷用更安全的范式(如SA令牌)替代舊的實踐,并推動工具鏈(如KYAML)的規范化,降低用戶的認知負荷和運維成本。
讓我們一起期待8月底的正式發布!