云原生计算基金会(CNCF)发布了Kubernetes 1.37版本,该版本命名为“Garhwal”,重点强调稳定性、安全性以及AI/ML工作负载优化。

1.37版本的一个主要特性是Metrics API正式发布(general availability,GA)。metrics.k8s.io API提供了一种监控和衡量节点与Pod健康状况的统一方式,从而支持水平Pod自动扩缩容器(Horizontal Pod Autoscaler,HPA)"、垂直Pod自动扩缩容器(Vertical Pod Autoscaler,VPA)"等自动扩缩容功能,以及kubectl top等命令。

本次发布中的Alpha特性包括工作负载感知调度。该功能门控(feature gate)"名为InPlacePodVerticalScalingSchedulerPreemption,使调度器能够通过抢占低优先级工作负载,腾出已满载节点上的资源,从而让处于等待状态的高优先级应用进行原地(in-place)规格调整,使其能够得到调度执行。

1.37版本中新增的Pod级检查点(checkpoint)与恢复(restore)"特性,让kubelet能够创建检查点并从中恢复Pod,使从业者更容易对运行中的容器的内存、进程树等进行快照,以便于进行调试或安全分析。

另一项进入Alpha阶段的功能是StatefulSet滚动更新的Recreate策略。这种针对StatefulSet的部署选项会删除所有的现有Pod。该功能标志"默认处于关闭状态,允许在更新过程中对卡住或处于等待状态的Pod进行干净恢复,而无需手动删除Pod。

在Kubernetes 1.37中,HorizontalPodAutoscaler的缩容至零(scale-to-zero)"支持升级为Beta并默认启用。这有助于降低成本,尤其是在云环境中需要使用GPU的AI/ML工作负载的场景。

此外,用户命名空间(user namespace)或Rootless模式"下的Kubelet在本次发布中也升级为Beta。KubeletInUserNamespace功能门控默认启用,允许kubelet等核心节点组件借助Linux用户命名空间,以非root身份在主机上运行,其目的在于降低容器逃逸攻击的影响。

韧性watchcache初始化(Resilient watchcache initialization)"在1.37版本中正式发布(GA)。在此之前,当kube-apiserver在大型集群中重启或失去缓存连接时,它会向etcd发起大量请求,造成性能问题并可能导致控制平面宕机。启用该默认的功能门控后,kube-apiserver将安全地委派限定的请求,并以HTTP 429响应拒绝其余请求,从而优雅地提示请求过多。

CNCF大使、Megazone Corp技术布道师Hoon Jo"在近期一篇LinkedIn帖子"中强调了该特性的重要性。

韧性watchcache初始化已经稳定并锁定开启,使kube-apiserver不会在启动时向etcd发起洪峰请求。

此外,Pod证书(pod certificates)"在1.37版本中升级为稳定版本(stable)。这为Pod之间的安全通信提供了原生支持,无需依赖外部工具即可在内部服务之间引导建立mTLS。

Kubernetes 1.37版本共包含67项增强,其中27项Alpha特性、23项升级为Beta、16项正式发布或已稳定、1项弃用或移除。

有关Kubernetes 1.37发布的更多信息,用户可参阅官方发布说明与发布说明"和文档",获取增强、弃用与移除项的完整列表。

下一个版本1.38预计将于2026年12月发布。

查看英文原文:Kubernetes 1.37 Released: Stable Metrics API and Rootless Kubelet in Beta"