Kubernetes v1.34 发布:DRA 核心 GA、安全体系化升级与大集群性能提升

2025 年 8 月 27 日,Kubernetes 发布 v1.34 版本,代号「Of Wind & Will」(O’ WaW)。名字是航海隐喻:风是控制不了的工具链与历史包袱,意志是不断调整航向的贡献者,船一直往前开。本次共包含 58 项增强:23 项晋升稳定版,22 项进入 Beta,13 项是全新 Alpha 特性。

Kubernetes v1.34 发布徽标

发布概览:以稳定与安全为主轴

v1.34 的整体基调是「稳旧迎新」:一批在试验田里耕耘多年的特性终于 GA。发布团队点名三个高光:DRA 核心 API 稳定、kubelet 拉镜像凭据改用短期 ServiceAccount Token(Beta)、以及专为 Kubernetes 设计的新 YAML 方言 KYAML(Alpha)。15 周的发布周期里,共有 106 家公司、491 位个人贡献者参与,整个云原生生态则有 370 家公司、2200 多名贡献者。

DRA 核心 GA:GPU、TPU 与网卡的一等公民时刻

动态资源分配(DRA)是近两年社区最受期待的方向之一。基于结构化参数的 resource.k8s.io/v1 API 在 v1.34 稳定并默认启用,意味着 GPU、TPU、网卡等加速器终于能通过 Kubernetes 原生路径完成选择、分配、共享与配置,类似存储卷的动态供给。同批进入 Beta 的 DRA 特性也有亮点:adminAccess 允许运维者受控检视被占用的设备;firstAvailable 让 ResourceClaim 可以声明「高性能卡优先、中端卡兜底」的有序备选;kubelet 现在会通过 PodResourcesAPI 上报 Pod 拿到的 DRA 资源,监控与节点侧组件终于看得见 GPU 分配。

安全面:从镜像拉取到集群内身份的全方位升级

v1.34 安全动作很密集。kubelet 的镜像凭据提供方现在可以请求带受众绑定的短期 ServiceAccount Token 拉私有镜像,取代节点上长期存放的 Secret——Pod 身份替代节点级凭据,攻击面收窄。结构化认证配置晋升稳定,一份文件声明多套 JWT 认证器、CEL 校验与动态重载。授权也细化了:webhook 与节点授权器可基于字段、标签选择器做决策,「最小权限」首次真正可行。匿名访问则被限制到显式列出的端点(如 /healthz)。Alpha 特性 PodCertificateRequests 让 Pod 直接申领 X.509 证书做 mTLS 认证,降低对 bearer token 的依赖。

规模与稳定性:API Server 和调度器瓶颈被正面处理

对大集群用户,升级收益实打实。流式 list 响应稳定后,API Server 不再把大量对象整体序列化进内存,内存占用更小、更可预测;watch cache 初始化更抗失败,API Server 重启后控制器建立 watch 的失败风险降低。调度器引入按插件的重新入队回调,只在相关事件到来时重试 Pod,安全时还能跳过退避;Beta 的异步非阻塞 API 调用避免 API 延迟饿死调度线程。有序删除命名空间晋升稳定,堵上了删除顺序不确定导致 Pod 比 NetworkPolicy 活得久这类安全缺口,直接对应 CVE-2024-7598。

运维体验:KYAML、.kuberc、swap 与更细的重启控制

开发者和运维直接能摸到的是一组「小而美」的能力:kubectl 1.34 支持 KYAML 输出,这是更安全、歧义更少的 YAML 子集;.kuberc 文件(Beta 且默认开启)可以存放 kubectl 默认选项与命令别名,且不包含任何集群凭据。Linux 节点 swap 支持晋升稳定,LimitedSwap 模式让 Pod 在内存限额内使用交换,内存压力下的行为更优雅。环境变量命名放宽到几乎全部可打印 ASCII 字符,.NET 这类框架不再被挡在门外。Job 支持等旧 Pod 彻底终止再创建替换 Pod;原地扩缩容现在允许调小内存;每容器独立 restartPolicy、运行时 EnvFiles 等 Alpha 特性也已就位,后者特别适合需要运行时生成值初始化每个 Pod 的 AI/ML 训练场景。

弃用预警:升级前要处理的三件事

发布说明明确提示三处弃用。其一,kubelet 配置文件中的 cgroupDriver 字段弃用——kubelet 会自动向 CRI 探测 cgroup 驱动,该配置项和 –cgroup-driver 参数将在后续版本移除,且不会早于 v1.36;其二,Kubernetes 将在 v1.36 结束对 containerd 1.x 的支持(最后支持版本 v1.35),建议尽快迁移到 containerd 2.0+,可用 kubelet_cri_losing_support 指标巡检;其三,Service 的 trafficDistribution=PreferClose 弃用,由语义更清晰的 PreferSameZone 取代,同时新增 PreferSameNode 选项。三项都不是破坏性变更,但都值得排进升级计划。

小夏点评

小夏通读发布说明,有三点想分享:

第一,DRA 正式 GA 是 GPU 集群的分水岭。过去 GPU 分配靠各家 Device Plugin 的「土办法」,现在有了原生一等路径,多租户设备共享与健康上报的地基都打好了。

第二,安全不再是打补丁,而是成体系。从镜像拉取短期凭据、选择器授权、匿名访问白名单到 mTLS Pod 证书,v1.34 系统性收紧身份链路,「Secret 挂在节点上」的时代正在收尾。

第三,大集群性能有明确的「抬高天花板」方向。流式 list、watch cache 快照、调度器非阻塞调用,全部瞄准 API Server 与 etcd 两个规模瓶颈——节点上千的团队,仅凭这些就值得升级。

对中国 IT 运维者的启示:国内大量企业已把 K8s 用在生产,但 GPU 业务普遍还靠手工维护 Device Plugin。DRA GA 后,新集群不妨直接试原生动态分配;更紧迫的是 containerd 1.x 停服时间表,自建集群运维应尽快盘点运行时版本;swap 稳定、环境变量放宽等特性对自研框架是即插即用的红利,升级 v1.34 性价比很高。

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注