Kubernetes(简称 K8s)是目前最主流的容器编排平台,2026 年 8 月 26 日发布了第 37 个大版本 v1.37,代号 Garhwal。这个版本一共包含 67 项功能增强:16 项转正为 Stable(正式可用)、23 项进入 Beta(接近可用)、27 项进入 Alpha(实验性)、1 项被弃用。对普通使用者来说,这版最值得关注的三个变化是:闲置负载可以自动缩到零副本省钱(HPA 缩零转 Beta)、大规模集群读取性能明显改善(etcd RangeStream)、以及 kube-dns 与 kube-proxy 的 ipvs 模式被列入退役时间表,需要提前规划迁移。

先解释两个基础概念。容器(container)是把应用连同它的运行环境打包在一起的标准格式,可以稳定地在不同机器上运行;而 Kubernetes 做的事情是自动调度和管理这些容器——哪个机器上跑什么、挂了怎么重启、流量怎么分发,都由它统一安排,因此被称为「容器编排平台」。它的主要使用者是运维工程师、平台工程师和云原生应用开发者;凡是靠容器部署服务的团队,几乎都绕不开它。Kubernetes 的每个功能按成熟度分三档:Alpha 是实验功能,随时可能改;Beta 接近稳定,多数默认关闭;Stable 是正式功能,长期兼容。版本代号 Garhwal 是印度北阿坎德邦的一个喜马拉雅山区地名。

Stable:六项正式转正值得了解

KYAML(更严格的 YAML 子集)转正。 YAML 是 Kubernetes 配置文件的书写格式;KYAML 是它更安全、歧义更少的子集,每份 KYAML 文件都是合法 YAML,现有配置和工具链不用改,可以用 kubectl get -o kyaml 输出更规范的格式。

metrics.k8s.io API 转正。 这个接口提供 Pod 和节点的 CPU、内存用量查询,是 kubectl top 命令和 HPA 自动伸缩的数据来源,在 Beta 阶段停留了近 9 年后正式转正。

SELinux 挂载方式变更,默认开启。 卷挂载改为直接带标签挂载,不再递归重新标记,减少开销;仅在 CSI 驱动(存储插件)声明支持时生效,集群级可在 v1.38 之前关闭。

弹性 watch 缓存初始化。 API 服务器启动时对底层数据库 etcd 的大列表读取不再造成流量尖峰,超载请求以 HTTP 429 温和拒绝,降低大规模集群控制面宕机风险。

DRA(动态资源分配)系列转正。 DRA 让 Pod 可以申请 GPU 等专用硬件。v1.37 转正了设备状态上报、扩展资源经 DRA 驱动申请、设备污点与容忍、标准 NUMA 属性命名,资源分配体系更完整。

存储版本迁移转正并默认开启。 API 升级后自动把存量数据重写为新存储格式,不再需要手工脚本。

这批转正中还有 Pod 证书与集群信任包:Pod 可以申请自己的 X.509 证书和信任锚点,用于服务间的 TLS 身份认证。

Beta:省钱与性能两大看点

HPA 缩到零(scale to zero)转 Beta,且默认开启。 HPA 是水平自动伸缩——按负载自动增减应用副本数。v1.37 起,基于对象指标或外部指标(如队列长度)的负载可以在空闲时缩到 0 个副本,有活排队时再自动拉起,适合队列消费者、批处理任务、GPU 负载这类场景;基于 CPU 和内存的缩零仍不支持,因为这些指标依赖运行中的 Pod。缩零状态会在 HPA 状态中打标记,与手动停用区分开。

etcd RangeStream:大列表读取不再一次性占满内存。 etcd 是 Kubernetes 存储全部集群状态的数据库。旧机制读取大列表时先在内存里拼好整个结果再返回,集群规模一大就出现内存尖峰;新机制改为服务端流式分块返回,配合并发 watch 解码(默认开启),官方基准在 15 万 Pod 规模下,缓存初始化提速约 40%,两者叠加约 55%。该功能要求 etcd 3.7 及以上版本,旧版本自动回退、行为不变。

Gang scheduling(全有或全无调度)转 Beta。 默认调度器逐个调度 Pod,AI/ML 训练这类「一组 Pod 必须同时就绪」的负载,经常出现部分调度、部分等待的僵局。Gang scheduling 保证整组 Pod 要么全部调度成功、要么都不调度,并加入工作负载感知的抢占与 PodGroup 排队,训练模型的团队是主要受益者。

其余 Beta 看点: 基于清单文件的准入控制配置(安全策略可在 API 服务器启动前生效,不依赖数据库);内存 QoS(用 cgroups v2 控制内存回收与节流,默认开启);原生直方图指标(监控数据更省内存、查询更快);PVC 空闲时间追踪(统计卷多久没人用,方便清理闲置存储);无法解密的资源可通过 API 删除(加密密钥丢失时不用再手改数据库)。

Alpha:先看一眼的新方向

  • Pod 级检查点与恢复:把运行中的 Pod 整体存档并恢复,容器运行时需配合实现。
  • StatefulSet 新增 Recreate 更新策略:有状态应用可先删后建、整组替换。
  • Job 接入工作负载感知调度、CompositePodGroup:继续补强 AI/ML 批量负载的调度能力。

弃用清单:三件现在就要规划的事

  • kube-dns 停止构建新包(v1.40 起),DNS 服务统一迁移到 CoreDNS。
  • kube-proxy 的 ipvs 模式:v1.40 默认禁用、v1.43 移除,建议改用 iptables 模式。
  • kubectl run 不再支持 -f/--filename 参数;static Pods 禁止引用 Secret/ConfigMap;cgroup v1 逐步退出(v1.37 默认开启失败告警),Linux 节点请确认运行在 cgroup v2。

总结

v1.37 的主线是两条:面向 AI/ML 负载的调度能力(gang scheduling、工作负载感知调度)和大规模集群的稳定性与内存优化(watch 缓存弹性、etcd RangeStream、并发解码)。普通用户最该动手的两件事:给闲置负载配上 HPA 缩零配置省钱,以及把 kube-dns、ipvs 模式的迁移排上日程。