今天是我国举行93大阅兵的日子,早上在地铁上拿着手机看直播,心中满是震撼。为祖国的繁荣昌盛感到喜悦和自豪。各位早上是否有观看阅兵直播呢?
最近工作以及生活上比较忙,所以有一段时间没有更新文章了,不过最近有关注到k8s新版本如上一篇文章介绍K8s 1.34 即将发布,亮点功能先睹为快 !如期在8月底发布了,还有Google 发布的 Nano Banana 模型。其余的还有什么新闻,欢迎大家一起交流!
Kubernetes 1.34 于2025年8月27日正式发布,主题为“Of Wind & Will”(乘风破浪)这一版本带来了58项增强功能,其中23项晋升为稳定(Stable),22项进入Beta阶段,13项为Alpha特性。
版本简单预览内容在上篇文章中已经介绍,今天再和大家一起深入解读Kubernetes 1.34的核心亮点,带大家领略这一版本如何为云原生生态注入新动力![1]
动态资源分配(Dynamic Resource Allocation, DRA)是Kubernetes 1.34的重头戏,其核心API(resource.k8s.io)已正式晋升为稳定版本。DRA通过结构化参数支持GPU等专用硬件的灵活调度,让Kubernetes能够直接管理硬件资源,而非依赖节点上的设备驱动程序。例如,驱动程序现在可以通过ResourceSlice对象详细描述GPU的内存、功能或共享能力,从而优化调度决策。这一特性为AI/ML工作负载和高性能计算场景提供了强大支持,尤其适用于需要高效分配昂贵硬件资源的场景,如大模型训练。[2]
示例:
apiVersion: resource.k8s.io/v1
kind: ResourceSlice
metadata:
name: gpu-slice
spec:
devices:
- name: nvidia-gpu
deviceClassName: gpu
attributes:
memory: 16Gi
shareable: true
Kubernetes 1.34引入了KYAML(Kubernetes YAML),一种专为Kubernetes设计的YAML子集,现已进入Alpha阶段。KYAML通过强制双引号字符串、支持注释以及保留结构等特性,解决了传统YAML的缩进敏感和类型转换问题(如“Norway Bug”)。用户可以用KYAML编写清单文件,并通过设置环境变量KUBECTL_KYAML=true
获取KYAML格式的输出,同时保持与现有YAML和JSON的兼容性。[3]
示例:
apiVersion: "v1"
kind: "Pod"
metadata:
name: "example-pod"
spec:
containers:
- name: "busybox"
image: "busybox"
command: ["echo", "Hello, World!"] # 支持注释
新的Alpha特性“Container Restart Policy and Rules”允许用户为Pod内的单个容器指定重启策略,而无需重启整个Pod。这一功能通过在容器规范中添加restartPolicyRules
字段实现,特别适用于避免因单个容器失败而导致Pod重新调度的高成本场景。例如,用户可指定当容器以特定退出码(如42)终止时自动重启。[4]
示例:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
restartPolicy: Never
containers:
- name: my-container
image: nginx:latest
restartPolicyRules:
- action: Restart
when:
exitCodes:
operator: In
values: [42]
Kubernetes 1.34增强了Service的流量分配功能,新增PreferSameNode
和PreferSameZone
两个策略,替代了之前的PreferClose
。PreferSameNode
优先将流量路由到与客户端位于同一节点的Pod,减少跨节点网络开销;PreferSameZone
则优化跨区域流量,降低延迟和成本。这些策略显著提升了服务的性能和效率。[5]
示例:
apiVersion: v1
kind: Service
metadata:
name: http-echo-service
spec:
selector:
app: http-echo-pod
ports:
- protocol: TCP
port: 80
targetPort: 5678
trafficDistribution: PreferSameNode
Kubernetes 1.34改进了Job控制器行为,确保在Pod终止后才创建替换Pod,避免资源竞争和不必要的集群自动扩展。此外,新增的Sleep生命周期钩子(Sleep lifecycle hooks)允许在Pod生命周期中插入暂停逻辑,提升工作负载的优雅处理能力。[6]
NodeSwap特性在1.34版本中晋升为稳定,允许在Linux节点上启用Swap内存。这一变化打破了传统禁用Swap以确保性能可预测性的做法,为内存压力下的工作负载提供了更多灵活性。用户可通过监控kubelet_cri_losing_support
指标,检查是否使用了即将停止支持的containerd 1.X版本。[7]
新的存储特性允许用户按需取消卷扩展操作(Volume Expansion Cancellation),为动态调整存储资源提供了更大灵活性。此外,VolumeSource的引入进一步增强了存储管理的标准化和安全性。[8]
AuthenticationConfiguration
对象细化了对API服务器端点的匿名访问控制,允许管理员指定安全的匿名访问路径(如/healthz
),降低因错误配置导致的安全风险。[9]resourceHealth
字段,通过gRPC接口报告设备(如GPU)的健康状态,提升故障排查效率。[10]Kubernetes 1.34的发布周期从2025年5月19日持续至8月27日,共15周,汇集了来自106家企业和491名个人的贡献,彰显了Kubernetes社区的强大凝聚力。 值得注意的是,1.34版本未包含任何功能移除或弃用,但为未来的1.35版本敲响了警钟:containerd 1.X的支持将在1.35版本(与containerd 1.7 EOL一致)终止,建议用户尽早迁移至containerd 2.0+ [12][13]
此外,Kubernetes 1.34为AI/ML工作负载、边缘计算和混合云场景提供了更强大的支持,特别是在动态资源分配和存储管理方面。社区还计划在未来版本中进一步完善KYAML、DRA等特性,并探索更复杂的用例,如清单列表处理和运行时优化。
Kubernetes社区欢迎新贡献者加入!您可以通过以下方式参与:
Kubernetes 1.34以“Of Wind & Will”为主题,象征着社区乘风破浪、坚定前行的精神。这一版本通过稳定的DRA、KYAML等新特性,以及流量分配、存储管理和安全性的优化,为云原生生态注入了新的活力。无论是运行AI工作负载的团队,还是追求高效运维的DevOps工程师,Kubernetes 1.34都提供了更灵活、更安全、更高效的工具。
您对Kubernetes 1.34的哪些特性最感兴趣?欢迎在评论区分享您的看法!
参考资料:
(注:本文基于2025年8月27日Kubernetes 1.34发布内容整理,部分信息可能随社区更新而变化。)
好了以上就是今天的内容,对于k8s感兴趣的小伙伴,可以添加希里安,进入技术交流群!交流更多关于k8s的技术信息。
关注公众号“希里安”,获取最新前沿动态和技术分享!
[1]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[2]
: https://metalbear.com/blog/kubernetes-1-34/
[3]
: https://kubernetes.io/blog/2025/07/28/kubernetes-v1-34-sneak-peek/
[4]
: https://blog.palark.com/kubernetes-1-34-release-features/
[5]
: https://metalbear.com/blog/kubernetes-1-34/
[6]
: https://cloudnativenow.com/features/arrival-of-kubernetes-1-34-simplifies-raft-of-management-challenges/
[7]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[8]
: https://cloudnativenow.com/features/arrival-of-kubernetes-1-34-simplifies-raft-of-management-challenges/
[9]
: https://metalbear.com/blog/kubernetes-1-34/
[10]
: https://blog.palark.com/kubernetes-1-34-release-features/
[11]
: https://kubernetes.io/blog/2025/07/28/kubernetes-v1-34-sneak-peek/
[12]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[13]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[14]
: https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
[15]
CHANGELOG: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md
[16]
: https://github.com/kubernetes/kubernetes/releases
[17]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[18]
: https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/
[19]
: https://cloudsmith.com/blog/kubernetes-1-34-what-you-need-to-know
[20]
: https://metalbear.com/blog/kubernetes-1-34/