Kubernetes v1.34新特性预览

作者:Administrator 发布时间: 2025-08-07 阅读量:4 评论数:0

Kubernetes v1.34新特性预览


Kubernetes v1.34 预览

作者:Agustina Barbetta, Alejandro Josue Leon Bellido, Graziano Casto, Melony Qin, Dipesh Rawat | 2025年7月28日,星期一
Kubernetes v1.34 将于2025年8月底发布。此版本不会移除或弃用任何功能,但包含大量改进。以下是我们在此版本中期待的亮点功能!

翻译:辣个男人Devin

注意:本文内容反映v1.34开发当前状态,发布前可能变更。


v1.34 核心增强功能

以下列出部分即将包含的重要增强功能,但非完整列表。功能内容可能随版本更新调整。


动态资源分配(DRA)进入稳定版

动态资源分配(DRA)提供了一种灵活的方式,用于分类、请求和使用GPU或自定义硬件等设备。
自v1.30起,DRA基于结构化参数实现设备声明(参数对Kubernetes核心透明)。相关增强提案(KEP-4381)借鉴了存储卷的动态供给机制。DRA的结构化参数依赖以下API类型:

  • ResourceClaim(资源声明)
  • DeviceClass(设备类)
  • ResourceClaimTemplate(资源声明模板)
  • ResourceSlice(资源切片)
    这些类型位于resource.k8s.io API组,并扩展了Pod的.spec.resourceClaims字段。DRA核心功能将在v1.34毕业为稳定版。

功能优势

  • 设备驱动和集群管理员可定义设备类
  • 工作负载通过设备类请求设备
  • Kubernetes自动分配匹配设备,调度Pod至可访问该设备的节点
  • 支持CEL(Common Expression Language)动态过滤、集中化设备分类、简化Pod请求

影响
resource.k8s.io/v1 API将默认启用。


ServiceAccount令牌支持镜像拉取认证

kubelet凭证提供者的ServiceAccount令牌集成将在v1.34进入β阶段并默认启用。这允许kubelet在拉取需认证的镜像时使用该令牌。

现状

  • α阶段功能已存在(KEP-4412)
  • 支持kubelet使用短期、自动轮换的ServiceAccount令牌(符合OIDC语义)认证镜像仓库
  • 每个令牌作用域限定于单个Pod,替代长期存在的镜像拉取Secret

优势

  • 降低安全风险
  • 支持工作负载级身份
  • 减少运维开销
  • 符合现代身份感知认证最佳实践

Deployment的Pod替换策略

Deployment变更时,终止中的Pod可能长时间占用资源。KEP-3973新增.spec.podReplacementPolicy字段(α阶段),提供两种策略:

  1. TerminationStarted(终止开始时):旧Pod终止时立即创建新Pod,加速滚动更新但可能增加资源消耗
  2. TerminationComplete(终止完成后):等待旧Pod完全终止后创建新Pod,减慢更新但控制资源使用

适用场景

  • 资源紧张的集群
  • 终止周期长的工作负载
  • 需平衡更新速度与资源消耗

启用方式
通过API Server和控制器管理器的DeploymentPodReplacementPolicyDeploymentReplicaSetTerminatingReplicas特性门控。


kubelet与API Server的生产级追踪

为解决通过日志关联调试节点级问题的长期挑战,KEP-2831为kubelet提供深度上下文洞察。

  • 基于OpenTelemetry标准对关键kubelet操作(如CRI gRPC调用)进行追踪
  • 支持操作员可视化事件全生命周期(如Pod启动)以定位延迟和错误根源
  • 传播追踪上下文:kubelet向容器运行时传递Trace ID,运行时可关联自身追踪信息

配套增强
KEP-647为API Server提供相同追踪能力。两者结合实现从控制平面到节点的端到端事件视图。

  • KEP-2831:v1.25 α阶段,v1.27 β阶段
  • KEP-647:v1.22 α阶段,v1.27 β阶段
  • v1.34目标:毕业为稳定版

Service流量分配:PreferSameZone与PreferSameNode

Service的.spec.trafficDistribution字段新增流量路由偏好:

  • PreferSameZone(等效原PreferClose):优先同区域节点
  • PreferSameNode:优先同节点上的Endpoints

演进

  • v1.33引入(PreferSameTrafficDistribution特性门控)
  • v1.34目标:β阶段默认启用

支持KYAML:Kubernetes专用YAML方言

KYAML是为Kubernetes设计的安全、无歧义YAML子集。其特点:

  • 字符串值始终双引号
  • 键值除非歧义无需引号
  • 映射强制{},列表强制[]
  • 支持注释与尾随逗号(JSON不支持)
  • 完全兼容YAML解析器

kubectl v1.34增强

  • 支持-o kyaml输出格式(兼容旧版kubectl输入)
  • 保留JSON/YAML输出选项

优势

  • 避免YAML缩进/类型强制问题(如"The Norway Bug")
  • 兼具JSON结构化与YAML灵活性

HPA可配置容忍度的精细扩缩容控制

KEP-4951允许按HPA实例配置容忍度(覆盖默认10%集群级设置)。

  • 新增spec.behavior.scaleUp.tolerancespec.behavior.scaleDown.tolerance字段
  • 支持独立设置扩缩容灵敏度(扩容通常需更高优先级)

现状

  • v1.33 α阶段(HPAConfigurableTolerance特性门控)
  • v1.34目标:β阶段

场景价值

  • 大规模部署中避免因10%容忍度残留数百Pod
  • 按工作负载优化扩缩行为(响应性/保守性)

了解更多
请关注Kubernetes社区更新。


作者觉得,这次最大的亮点是支持了kyaml格式,既兼容了yaml和json,同时又不用担心格式缩进,简直是极佳的体验!

欢迎关注我的公众号 辣个男人Devin ,新鲜技术文章第一时间推送。

评论