更新时间:2026-07-28 GMT+08:00
分享

Kubernetes 1.34版本说明

CCE Autopilot严格遵循社区一致性认证,现已支持Kubernetes 1.34集群版本特性。本文介绍Kubernetes 1.34版本的变更说明。

新增特性及特性增强

Kubernetes 1.34版本

  • RecoverVolumeExpansionFailure (GA)

    在Kubernetes 1.34中,RecoverVolumeExpansionFailure进阶至GA。您可以减少PVC请求的大小,只要之前请求的扩展还未完成,就可以修改所请求的大小。Kubernetes会自动进行修正。详细使用方式请参考卷扩容失败恢复

  • JobPodReplacementPolicy(GA)

    在Kubernetes 1.34中,JobPodReplacementPolicy进阶至GA。此功能在Jobs中引入了.spec.podReplacementPolicy。您可以选择仅在Pod完全终止(.status.phase: Failed)时创建替代Pod。详细使用方式请参考允许在完全终止时替换作业中的Pod

  • Resilient watch cache initialization(GA)

    在Kubernetes 1.34中,Watch cache的初始化过程变得更加抗故障,提高了控制平面的鲁棒性,并确保控制器和客户端能够可靠地建立观察。详细介绍请参考弹性监视缓存初始化

  • Relaxing DNS search path validation(GA)

    在Kubernetes 1.34中,Relaxing DNS search path validation进阶至GA。过去Kubernetes在dnsConfig.searches(DNS搜索域列表)中根据RFC-1123验证搜索字符串,而RFC-1123对主机名设定了限制。但是这种验证对于dnsConfig.searches的使用而言,过于严格,现在允许以下设置:

    • 允许在连字符(-)的位置使用下划线(_)
    • 允许单个点号(.)作为搜索域

    详细使用方式请参考宽松的DNS搜索字符串验证

  • Sleep action for Container lifecycle hooks(GA)

    在Kubernetes 1.34中,Sleep action for Container lifecycle hooks进阶至GA。该特性支持在容器生命周期回调中通过Sleep字段直接使用sleep命令,将容器暂停一段指定的时间,并支持填写sleep为零值。详细使用方式请参考引入PreStop Hook睡眠操作允许PreStop Hook的睡眠动作为零值

  • Allow special characters in environment variables(GA)

    在Kubernetes 1.34中,Allow special characters in environment variables进阶至GA。允许所有可打印的ASCII字符作为环境变量,ASCII码范围是32到126,但不包括“=”。详细使用方式请参考允许环境变量中包含几乎所有可打印的ASCII字符

  • Dynamic Resource Allocation(GA)

    动态资源分配Dynamic Resource Allocation(DRA)的核心功能进阶至GA,基于DRA,允许您在 Pod 之间请求和共享资源。详细使用方式请参考动态资源分配

  • kuberc file for kubectl user preferences(Beta)

    在Kubernetes 1.34中,kuberc file for kubectl user preferences进阶至Beta。kuberc 配置文件允许您为 kubectl 定义偏好设置,例如默认选项和命令别名。详细使用方式请参考用户偏好设置(kuberc)可在 kubectl 1.34 中进行测试

  • Snapshottable API server cache(Beta)

    在Kubernetes 1.34中,Snapshottable API server cache进阶至Beta。在默认启用的 ListFromCacheSnapshot 功能下,kube-apiserver 会尝试从快照中提供响应。详细介绍请参考kube-apiserver List请求优化

  • KubeletPSI(Beta)

    在Kubernetes 1.34中,KubeletPSI进阶至Beta。PSI是一种监控指标,用于测量系统在CPU、内存和I/O资源方面的压力。它能够提供服务的延迟和稳定性等信息。

    kubelet支持查询节点的压力指标。详细介绍请参考理解PSI指标

  • KubeletPodResourcesGet和KubeletPodResourcesDynamicResources(Beta)

    在Kubernetes 1.34中,KubeletPodResourcesGet和KubeletPodResourcesDynamicResources特性进阶至Beta,新增了部分gRPC接口,支持通过kubelet获取一些资源的分配信息。详细介绍请参考设备插件

  • PodLevelResources(Beta)

    在Kubernetes 1.34中,PodLevelResources进阶至Beta,该特性支持 Pod 级别的资源管理,使 Kubernetes 能够控制 Pod 的总资源消耗,从而减轻用户为每个容器精心配置资源的负担。详细介绍请参考Pod级别资源规范

    当您设置了 Pod 级别的资源申请或限制时,控制台界面展示的 CPU 和内存数据(包括申请值、限制值及使用率)依然会按照容器级别的数值来统计。

Kubernetes 1.33版本

  • ServiceCIDR动态增加ClusterIP的可分配范围(GA)

    在Kubernetes 1.33中,MultiCIDRServiceAllocator进阶至GA。引入ServiceCIDR和IPAddress资源来记录Service的ClusterIP分配情况,支持通过ServiceCIDR来动态增加ClusterIP的可分配范围。

    新增的服务网段不能和所属集群的子网网段和容器网段重叠。

  • JobBackoffLimitPerIndex(GA)

    在Kubernetes 1.33中,JobBackoffLimitPerIndex进阶至GA。允许为索引作业中的每个索引指定Pod的最大重试次数。详细使用方式请参考Kubernetes v1.33:Job逐索引的回退限制进阶至GA

  • JobSuccessPolicy(GA)

    在Kubernetes 1.33中,JobSuccessPolicy进阶至GA。允许自定义Job的成功策略,例如通过指定某些索引是否成功和成功的索引数量来判断Job是否完成。详细使用方式请参考 Job的SuccessPolicy

  • HonorPVReclaimPolicy(GA)

    在Kubernetes 1.33中,HonorPVReclaimPolicy进阶至GA。用于确保当PV的reclaimPolicy设置为Delete时,无论PV或PVC的删除顺序如何,都会严格按照策略删除底层存储资源,避免存储资源泄露。

  • 镜像作为volume进行挂载(Beta)

    在Kubernetes 1.33中,ImageVolume进阶至Beta。允许在Pod中使用image卷源,将容器镜像作为只读卷挂载到Pod中。详细使用方式请参考镜像卷

  • UserNamespacesSupport(Beta)

    在Kubernetes 1.33中,UserNamespacesSupport进阶至Beta。允许Pod使用Linux用户命名空间。详细使用方式请参考Pod配置user命名空间

  • 通过流式处理大规模资源列表请求(Beta)

    在Kubernetes 1.33中,StreamingCollectionEncodingToProtobuf进阶至Beta。kube-apiserver禁用WatchList机制,转而采用流式编码机制。对于大量资源的List请求场景,可有效降低内存占用并提升系统稳定性。详细使用方式请参考流式List响应

  • ProcMountType(Beta)

    在Kubernetes 1.33中,ProcMountType进阶至Beta。允许通过Pod的securityContext.procMount字段自定义容器中/proc文件系统的挂载类型,以精细化控制/proc文件系统的访问,提升Pod安全性和隔离性。此功能适用于需要在用户命名空间中运行非特权容器的场景,通过放宽对/proc的限制,可增强兼容性与灵活性。

  • PodLifecycleSleepAction(Beta)

    在Kubernetes 1.33中,PodLifecycleSleepAction进阶至Beta。默认开启,允许用户创建持续时间为零秒的休眠生命周期作的容器 。详细使用方式请参考Introducing Sleep Action for PreStop Hook

  • 限制特定Volume Attributes Class关联的PVC数量。

    在Kubernetes 1.33中,允许使用ResourceQuota限制特定Volume Attributes Class关联的PVC数量。

API变更与弃用

Kubernetes 1.34版本

  • 在Kubernetes 1.34中,创建无头服务时,如果设置了loadBalancerIP、externalIPs或sessionAffinity,将增加警告信息。
  • 在Kubernetes 1.34中,当容器未指定巨页(HugePage)资源时,将Pod级别的巨页cgroup传播到容器。并且添加了验证,以确保聚合的容器巨页限制小于或等于Pod级别的限制。
  • 在Kubernetes 1.34中,在CustomResourceDefinition架构中引入了对Kubernetes短名称和长名称的OpenAPI格式支持。
  • 在Kubernetes 1.34中,Kube-apiserver配置文件中的--authentication-config选项,其支持的AuthenticationConfiguration类型已提升至 apiserver.config.k8s.io/v1。
  • 在Kubernetes 1.34中,JobPodReplacementPolicy特性开关已锁定为开启状态,并将在未来的Kubernetes版本中移除。
  • 在Kubernetes 1.34中,AuthorizeWithSelectors和AuthorizeNodeWithSelectors特性开关已稳定并锁定为开启状态。
  • 在Kubernetes 1.34中,Downward API的resourceFieldRef字段的回退行为已更新,以考虑Pod级别的资源:如果未设置容器级别的资源限制,现在会优先使用Pod级别的资源限制,然后再回退到节点可分配资源。
  • 在Kubernetes 1.34中,零值的metadata.creationTimestamp现在被省略,不再在JSON、YAML和CBOR输出中序列化为显式的null。

Kubernetes 1.33版本

  • 在Kubernetes 1.33中,EndpointSlice的annotation service.kubernetes.io/topology-mode废弃,保持向后兼容,由spec.trafficDistribution替换。
  • 在Kubernetes 1.33中,apidiscovery.k8s.io/v2beta1 API组废弃。此API用于客户端查询集群中所有已注册的API资源信息。建议使用v2稳定版本。
  • 在Kubernetes 1.33中,WatchFromStorageWithoutResourceVersion功能已弃用。该功能允许在没有resourceVersion的情况下基于etcd提供watch服务。
  • 在Kubernetes 1.33中,v1版本的Endpoints API正式废弃,但仍然支持,推荐使用EndpointSlice API代替。EndpointSlice API自1.21起已进入稳定状态,并引入了双栈网络支持等特性。详细使用方式请参考Kubernetes v1.33: Continuing the transition from Endpoints to EndpointSlices

CCE对Kubernetes 1.34版本的增强

在版本维护周期中,CCE会对Kubernetes 1.34版本进行定期的更新,并提供功能增强。

关于CCE Autopilot集群版本的更新说明,请参见补丁版本发布说明

参考链接

关于Kubernetes 1.34与其他版本的性能对比和功能演进的更多信息,请参考:Kubernetes v1.34 Release NotesKubernetes v1.33 Release Notes

相关文档