
2026年2月10日,Kubernetes 社区一次性发布了4个重要版本的更新:v1.35.1、v1.34.4、v1.33.8 和 v1.32.12。这是今年首次大规模的多版本同步发布,主要修复了多个关键的 bug 和安全问题。本文将带你详细了解这些版本的重要更新。

版本号 | 发布日期 | 状态 | 类型 |
|---|---|---|---|
v1.35.1 | 2026-02-10 | 最新稳定版 | LTS |
v1.34.4 | 2026-02-10 | 长期支持版 | LTS |
v1.33.8 | 2026-02-10 | 维护版本 | 补丁 |
v1.32.12 | 2026-02-10 | 维护版本 | 补丁 |
❝注意: 如果您正在使用上述任何版本,强烈建议尽快升级到对应的最新补丁版本!
这是一个严重的问题修复!在快速调度多个 Pod 时,由于不同 goroutine 之间的竞争条件,可能导致同一设备被重复分配给不同的 ResourceClaims。
问题场景:
# 当快速创建多个使用相同设备类型的 Pod 时
apiVersion:resource.k8s.io/v1alpha2
kind:ResourceClaim
metadata:
name:gpu-claim-1
spec:
devices:
requests:
-name:gpu
deviceClassName:nvidia.com/gpu
影响范围:
修复说明:修复了资源分配时的数据竞争问题,确保每个设备只被分配给一个 ResourceClaim。
修复了 IPv4 和 IPv6 服务负载均衡器可能错误共享的问题,现在正确支持 Windows 节点上的双栈服务。
配置示例:
apiVersion: v1
kind:Service
metadata:
name:dual-stack-service
spec:
ipFamilies:
-IPv4
-IPv6
ipFamilyPolicy:PreferDualStack
selector:
app:myapp
ports:
-port:80
修复了终端大小队列委托未初始化时的 panic 问题,提升命令行工具的稳定性。
使用场景:
kubectl exec -it my-pod -- /bin/bash
# 之前在特定情况下可能触发 panic,现已修复
修复了 v1.35.0 版本中由于 API 客户端限制导致的性能回归问题,恢复调度器的正常性能。
性能影响:
在节点对象打补丁时,遇到未知 API 错误不再提前退出,而是会在整个轮询期间重试。
改进效果:
升级到 Go 1.25.6,带来性能和安全性改进。
$ 后跟多字节字符的环境变量值的问题与 v1.35.1 相同,修复了动态资源分配中的竞争条件问题。
技术细节:
// 修复前: 不同 goroutine 可能同时分配相同设备
go func() {
device <- allocateDevice()
}()
go func() {
device <- allocateDevice() // 可能分配到同一个设备
}()
// 修复后: 使用锁机制确保设备唯一性
mu.Lock()
defer mu.Unlock()
device <- allocateDevice() // 确保原子性
修复了 apiserver_watch_events_sizes 指标在 v1.34 版本中的回归问题,确保监控数据准确。
监控查询示例:
# 查询 API Server Watch 事件大小分布
histogram_quantile(0.95,
rate(apiserver_watch_events_sizes_bucket[5m])
)
修复了验证具有状态子资源的自定义资源时可能出现的 panic 问题。
使用场景:
apiVersion: apiextensions.k8s.io/v1
kind:CustomResourceDefinition
metadata:
name:mycrds.example.com
spec:
group:example.com
versions:
-name:v1
served:true
storage:true
subresources:
status:{}# 状态子资源
在 kubeadm join 期间等待 etcd learner 成员启动后再提升,提升集群稳定性。
集群扩容场景:
# 添加新节点到集群
kubeadm join 192.168.1.100:6443 \
--token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:...
# 现在会等待 etcd learner 完全启动,避免不一致状态
不再对用户提供的 extraArgs 覆盖进行字母数字排序,保持覆盖列表的原始顺序。
重要性:某些参数的顺序很重要,例如 --service-account-issuer。
配置示例:
apiVersion: kubeadm.k8s.io/v1beta3
kind: JoinConfiguration
nodeRegistration:
kubeletExtraArgs:
# 现在保持原始顺序
service-account-issuer: "https://issuer.example.com"
service-account-signing-key-file: "/etc/kubernetes/pki/sa.key"
$ 后跟多字节字符的解析问题升级到 Go 1.24.12。
在 v1.33 系列中,修复了多个重要安全漏洞:
问题: 节点可以绕过动态资源分配的授权检查
影响: 攻击者可能绕过权限检查,非法分配资源
修复: 在 v1.33.2 及之后版本中修复
问题: 节点通过添加 OwnerReference 可以删除自身
影响: 可能导致节点被意外删除,影响集群稳定性
修复: 在 v1.33.4 及之后版本中修复
修复代码示例:
// 修复前: 节点可以添加 OwnerReference 删除自身
func (n *Node) validateOwnerReference(ref metav1.OwnerReference) error {
// 缺少验证逻辑
return nil
}
// 修复后: 禁止节点删除自身
func (n *Node) validateOwnerReference(ref metav1.OwnerReference) error {
if ref.APIVersion == "v1" && ref.Kind == "Node" {
return fmt.Errorf("node cannot have OwnerReference to itself")
}
return nil
}
与前两个版本相同,修复了设备重复分配的问题。
修复了准入策略控制器中的数据竞争问题,提升稳定性。
影响范围:
修复 Windows 节点上的 kube-proxy 负载均衡器稳定性问题。
升级到 Go 1.24.12。
v1.32 系列同样修复了多个安全漏洞:
问题: 通过 Kubelet Checkpoint API 实现的节点拒绝服务攻击
影响: 攻击者可能使节点崩溃
修复: 限制 Checkpoint API 的访问权限
配置示例:
apiVersion: kubelet.config.k8s.io/v1beta1
kind:KubeletConfiguration
authentication:
anonymous:
enabled:false
webhook:
enabled:true
authorization:
mode:Webhook
# 禁用或限制 Checkpoint API
enableControllerAttachDetach:true
问题: 影响Windows节点的命令注入漏洞
影响: Windows 节点可能被攻击者执行任意命令
修复: 加强输入验证和过滤
问题: 节点可以绕过动态资源分配授权检查
问题: 节点通过 OwnerReference 删除自身
修复动态资源分配中的竞争条件问题。
升级到 Go 1.24.12。
如果您正在使用以下版本,强烈建议立即升级:
当前版本 | 升级到 | 原因 |
|---|---|---|
v1.35.0 | v1.35.1 | 修复关键 bug 和性能回归 |
v1.34.0-v1.34.3 | v1.34.4 | 修复 DRA 竞态条件、监控指标 |
v1.33.0-v1.33.7 | v1.33.8 | 修复多个安全漏洞 |
v1.32.0-v1.32.11 | v1.32.12 | 修复多个安全漏洞 |
# 备份 etcd
ETCDCTL_API=3 etcdctl snapshot save snapshot.db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
# 检查当前版本
kubectl version --short
# 查看升级注意事项
# 访问: https://kubernetes.io/docs/setup/release/notes/
# 检查所有 Pod 状态
kubectl get pods --all-namespaces
# 检查节点状态
kubectl get nodes
# 使用 kubeadm 升级
sudo kubeadm upgrade plan v1.35.1
sudo kubeadm upgrade apply v1.35.1
sudo kubeadm upgrade node
# 在每个工作节点上执行
sudo kubeadm upgrade node
kubectl get nodes
kubectl version --short
kubectl get pods --all-namespaces
kubectl get nodes -o wide
# 确认 apiserver_watch_events_sizes 指标正常
apiserver_watch_events_sizes 指标是否正常推荐使用:
当前版本 | 推荐升级到 | 升级路径 |
|---|---|---|
v1.32.x | v1.32.12 或 v1.33.8 | 先升级到 v1.32.12,再升级到 v1.33.8 |
v1.33.x | v1.33.8 或 v1.34.4 | 先升级到 v1.33.8,再升级到 v1.34.4 |
v1.34.x | v1.34.4 或 v1.35.1 | 先升级到 v1.34.4,再升级到 v1.35.1 |
v1.35.0 | v1.35.1 | 直接升级 |
重要: Kubernetes 支持从当前版本到最新补丁版本,以及从当前版本到下一个次版本的第一个补丁版本。
允许的升级路径示例:
正确做法:
本次 Kubernetes 多版本同步发布,重点修复了以下关键问题:
✅ 动态资源分配 (DRA) 竞态条件 - 所有4个版本都包含此修复
✅ 多个安全漏洞 - 特别是 v1.33 和 v1.32 系列的 CVE
✅ Kubeadm 稳定性 - 节点管理和集群初始化更可靠
✅ Windows 支持 - 双栈服务和 kube-proxy 稳定性提升
✅ 监控和指标 - API Server 监控指标修复
✅ 性能优化 - 调度器性能回归修复
强烈建议: 所有使用这些版本的用户尽快升级到对应的最新补丁版本,以获得安全修复和稳定性改进。
版本选择:
注意事项: