社區 Kubernetes 版本主要變更
Kubernetes 1.31 版本Changelog
StatefulSet 起始序號(GA),允許用戶自定義 Pod 的起始序號(默認從 0 開始),例如設置為 100,適用于需要固定編號或特定順序的應用場景(如分布式數據庫)。
彈性索引 Job(GA),支持在索引 Job 創建后動態調整 .spec.completions 和 .spec.parallelism 字段,實現任務彈性伸縮,無需重新創建 Job。
Pod 失效策略(GA),可根據 Pod 失效原因(如被搶占、節點刪除、kubelet 終止等)分別配置處理邏輯(重試或忽略),避免不必要的 Pod 重啟,降低運行成本。
Pod 干擾狀況(GA),在 Pod 的 Condition 中新增 DisruptionTarget 類型,明確標記 Pod 失效原因(如被高優先級 Pod 搶占),結合 Job 的失效策略實現更精細的任務管理。
Job成功策略(Beta),JobSuccessPolicy特性進階至Beta。該特性允許用戶基于成功的Pod個數為Job配置成功策略。
持久卷回收策略(Beta),確保 PV 的回收策略(如 Delete)在 PVC 刪除后仍被強制執行,通過添加 Finalizer 防止存儲資源泄漏,即使 PV 和 PVC 的刪除順序混亂也能保證一致性。
ServiceAccountTokenNodeBinding(Beta),創建綁定到特定節點的 Token,包含節點信息聲明,并在 Token 使用時驗證節點存在性。若節點被刪除,Token 自動失效,降低憑證泄露風險。
容器重啟優化,當 Pod 配置變更但鏡像未更新時,kubelet 不再強制重啟容器,避免因非關鍵配置更新導致的不必要中斷。
OCI 鏡像卷(Alpha),允許將 OCI 鏡像直接掛載為卷,簡化 AI/ML 工作負載中模型和數據的訪問,例如通過更換鏡像快速更新模型權重。
更多信息請參考:
Kubernetes 1.30 版本Changelog
Pod 調度就緒機制(GA),通過 spec.schedulingGates 字段,允許用戶在 Pod 創建后動態控制其調度時機。例如,當存儲卷或網絡策略未準備好時,Pod 可被標記為 “未就緒”,避免無效調度導致的資源浪費。
Pod 拓撲分布最小域(GA),在 PodTopologySpread 中新增 minDomains 參數,要求 Pod 至少分布在指定數量的拓撲域(如可用區)。若當前域不足,Pod 將暫停調度,觸發自動縮放器創建新節點,確保高可用性。
基于索引的 Job 回退機制(Beta),支持為索引 Job 的每個任務索引單獨配置重試策略(.spec.backoffLimitPerIndex),避免因單個索引失敗導致整個 Job 終止。適用于分布式訓練等需細粒度控制的場景。
基于容器資源的 HPA(GA),Horizontal Pod Autoscaler 可根據 Pod 內單個容器的 CPU / 內存使用情況進行擴縮容,而非依賴 Pod 整體指標。例如,優先對關鍵容器(如數據庫主節點)設置更嚴格的擴縮容閾值。
負載均衡器 IP 模式(Beta), LoadBalancer 類型的 Service 新增 .status.loadBalancer.ingress.ipMode 字段,用于指定負載均衡器IP的轉發行為。該字段僅在指定了.status.loadBalancer.ingress.ip字段時才能被指定。
多服務 CIDR 支持(Alpha),允許為集群配置多個 Service ClusterIP 地址段(通過 ServiceCIDR 資源),擴展服務 IP 地址空間,滿足復雜網絡拓撲需求。
基于 CEL 的準入控制(GA),該特性支持通過CEL表達式聲明資源的驗證準入策略。
ImageMaximumGCAge(Beta),允許kubelet配置對未使用鏡像被垃圾回收前的最大存活時間,即在達到指定時間后若鏡像仍然未被使用,那么鏡像將可被垃圾收集機制清理。默認值為"0s",即不設置時間限制)。
更多信息請參考: