首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Kubernetes 4个版本同时更新,这些关键Bug修复不容错过

Kubernetes 4个版本同时更新,这些关键Bug修复不容错过

作者头像
编码如写诗
发布2026-03-02 20:59:28
发布2026-03-02 20:59:28
670
举报
文章被收录于专栏:编码如写诗编码如写诗

🎯 引言

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

维护版本

补丁

❝注意: 如果您正在使用上述任何版本,强烈建议尽快升级到对应的最新补丁版本!

🔥 v1.35.1 重点更新

🚨 关键 Bug 修复

1. 动态资源分配 (DRA) 竞态条件修复

这是一个严重的问题修复!在快速调度多个 Pod 时,由于不同 goroutine 之间的竞争条件,可能导致同一设备被重复分配给不同的 ResourceClaims。

问题场景:

代码语言:javascript
复制
# 当快速创建多个使用相同设备类型的 Pod 时
apiVersion:resource.k8s.io/v1alpha2
kind:ResourceClaim
metadata:
name:gpu-claim-1
spec:
devices:
    requests:
    -name:gpu
      deviceClassName:nvidia.com/gpu

影响范围:

  • 使用动态资源分配的集群
  • GPU、FPGA 等加速器设备
  • 快速扩缩容场景

修复说明:修复了资源分配时的数据竞争问题,确保每个设备只被分配给一个 ResourceClaim。

2. Windows kube-proxy 双栈服务修复

修复了 IPv4 和 IPv6 服务负载均衡器可能错误共享的问题,现在正确支持 Windows 节点上的双栈服务。

配置示例:

代码语言:javascript
复制
apiVersion: v1
kind:Service
metadata:
name:dual-stack-service
spec:
ipFamilies:
-IPv4
-IPv6
ipFamilyPolicy:PreferDualStack
selector:
    app:myapp
ports:
-port:80
3. kubectl exec Panic 修复

修复了终端大小队列委托未初始化时的 panic 问题,提升命令行工具的稳定性。

使用场景:

代码语言:javascript
复制
kubectl exec -it my-pod -- /bin/bash
# 之前在特定情况下可能触发 panic,现已修复
4. 调度器性能回归修复

修复了 v1.35.0 版本中由于 API 客户端限制导致的性能回归问题,恢复调度器的正常性能。

性能影响:

  • Pod 调度延迟降低
  • 大规模集群调度吞吐量提升
  • API Server 压力减少

✨ 功能改进

Kubeadm 稳定性增强

在节点对象打补丁时,遇到未知 API 错误不再提前退出,而是会在整个轮询期间重试。

改进效果:

  • kubeadm join 过程更稳定
  • 节点启动成功率提升
  • 网络抖动场景下更容错
Go 版本升级

升级到 Go 1.25.6,带来性能和安全性改进。

其他修复
  • kubelet 日志: 修复日志级别设置不生效的问题
  • 指标监控: 修复 apiserver_watch_events_sizes 指标不报告传出 watch 流量的问题
  • 环境变量: 修复包含 $ 后跟多字节字符的环境变量值的问题
  • kube-proxy: 修复 ipvs 和 winkernel 后端的规则重新检查问题
  • StatefulSet: 修复状态更新延迟问题,使滚动更新进度更快

🚀 v1.34.4 重点更新

🚨 关键 Bug 修复

1. DRA 设备重复分配修复

与 v1.35.1 相同,修复了动态资源分配中的竞争条件问题。

技术细节:

代码语言:javascript
复制
// 修复前: 不同 goroutine 可能同时分配相同设备
go func() {
    device <- allocateDevice()
}()

go func() {
    device <- allocateDevice()  // 可能分配到同一个设备
}()

// 修复后: 使用锁机制确保设备唯一性
mu.Lock()
defer mu.Unlock()
device <- allocateDevice()  // 确保原子性
2. Kubernetes API Server 监控指标修复

修复了 apiserver_watch_events_sizes 指标在 v1.34 版本中的回归问题,确保监控数据准确。

监控查询示例:

代码语言:javascript
复制
# 查询 API Server Watch 事件大小分布
histogram_quantile(0.95,
  rate(apiserver_watch_events_sizes_bucket[5m])
)
3. 自定义资源验证 Panic 修复

修复了验证具有状态子资源的自定义资源时可能出现的 panic 问题。

使用场景:

代码语言:javascript
复制
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:{}# 状态子资源
4. Kubeadm Etcd Learner 等待机制

kubeadm join 期间等待 etcd learner 成员启动后再提升,提升集群稳定性。

集群扩容场景:

代码语言:javascript
复制
# 添加新节点到集群
kubeadm join 192.168.1.100:6443 \
  --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:...

# 现在会等待 etcd learner 完全启动,避免不一致状态

✨ 功能改进

参数顺序保留

不再对用户提供的 extraArgs 覆盖进行字母数字排序,保持覆盖列表的原始顺序。

重要性:某些参数的顺序很重要,例如 --service-account-issuer

配置示例:

代码语言:javascript
复制
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"
其他修复
  • SELinux 警告控制器: 不再为已完成的 Pod 发出事件
  • Windows kube-proxy: 修复双栈服务负载均衡器共享问题
  • kubelet 日志: 正确遵守日志详细级别配置
  • 环境变量解析: 修复包含 $ 后跟多字节字符的解析问题
  • kubelet DRA 处理: 正确处理多个 ResourceClaims
Go 版本升级

升级到 Go 1.24.12。

🛡️ v1.33.8 重点更新

🔒 安全更新历史

在 v1.33 系列中,修复了多个重要安全漏洞:

CVE-2025-4563 (v1.33.2 修复)

问题: 节点可以绕过动态资源分配的授权检查

影响: 攻击者可能绕过权限检查,非法分配资源

修复: 在 v1.33.2 及之后版本中修复

CVE-2025-5187 (v1.33.4 修复)

问题: 节点通过添加 OwnerReference 可以删除自身

影响: 可能导致节点被意外删除,影响集群稳定性

修复: 在 v1.33.4 及之后版本中修复

修复代码示例:

代码语言:javascript
复制
// 修复前: 节点可以添加 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
}

🚨 关键 Bug 修复

1. DRA 竞态条件修复

与前两个版本相同,修复了设备重复分配的问题。

2. 准入策略数据竞争修复

修复了准入策略控制器中的数据竞争问题,提升稳定性。

影响范围:

  • 使用 ValidatingAdmissionPolicy 的集群
  • 高并发的准入请求场景
3. Windows kube-proxy 稳定性

修复 Windows 节点上的 kube-proxy 负载均衡器稳定性问题。

✨ 功能改进

Kubeadm 改进
  • 节点对象修补时重试机制改进
  • Etcd learner 成员启动等待逻辑优化
  • 参数顺序保留(与 v1.34 相同)
Go 版本升级

升级到 Go 1.24.12。

🔧 v1.32.12 重点更新

🔒 安全更新历史

v1.32 系列同样修复了多个安全漏洞:

CVE-2025-0426 (v1.32.2 修复)

问题: 通过 Kubelet Checkpoint API 实现的节点拒绝服务攻击

影响: 攻击者可能使节点崩溃

修复: 限制 Checkpoint API 的访问权限

配置示例:

代码语言:javascript
复制
apiVersion: kubelet.config.k8s.io/v1beta1
kind:KubeletConfiguration
authentication:
anonymous:
    enabled:false
webhook:
    enabled:true
authorization:
mode:Webhook
# 禁用或限制 Checkpoint API
enableControllerAttachDetach:true
CVE-2024-9042 (v1.32.1 修复)

问题: 影响Windows节点的命令注入漏洞

影响: Windows 节点可能被攻击者执行任意命令

修复: 加强输入验证和过滤

CVE-2025-4563 (v1.32.6 修复)

问题: 节点可以绕过动态资源分配授权检查

CVE-2025-5187 (v1.32.8 修复)

问题: 节点通过 OwnerReference 删除自身

🚨 关键 Bug 修复

1. DRA 竞态条件修复

修复动态资源分配中的竞争条件问题。

2. Kubeadm 稳定性
  • 节点对象修补重试机制
  • Etcd learner 等待逻辑
  • 参数顺序保留
Go 版本升级

升级到 Go 1.24.12。

📋 跨版本共同修复总结

所有4个版本都包含的修复:

  1. 动态资源分配 (DRA) 竞态条件
    • 问题: 设备可能被重复分配
    • 影响: 资源冲突、服务异常
    • 严重性: 高
    • 优先级: 立即修复
  2. Kubeadm 稳定性改进
    • 节点对象修补重试机制
    • Etcd learner 等待逻辑
    • 参数顺序保留
  3. Go 版本升级
    • v1.35.1: Go 1.25.6
    • v1.34.4: Go 1.24.12
    • v1.33.8: Go 1.24.12
    • v1.32.12: Go 1.24.12

v1.35.1 和 v1.34.4 特有修复:

  1. Windows kube-proxy 双栈服务
  2. kubectl exec Panic 修复
  3. API Server 监控指标修复
  4. 自定义资源验证修复

v1.33.8 特有修复:

  1. 准入策略数据竞争修复
  2. SELinux 警告控制器优化

💡 升级建议

立即升级(紧急)

如果您正在使用以下版本,强烈建议立即升级:

当前版本

升级到

原因

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

修复多个安全漏洞

升级前准备

  1. 备份数据
代码语言:javascript
复制
# 备份 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
  1. 检查兼容性
代码语言:javascript
复制
# 检查当前版本
kubectl version --short

# 查看升级注意事项
# 访问: https://kubernetes.io/docs/setup/release/notes/
  1. 验证资源状态
代码语言:javascript
复制
# 检查所有 Pod 状态
kubectl get pods --all-namespaces

# 检查节点状态
kubectl get nodes

升级步骤

  1. 升级第一个控制平面节点
代码语言:javascript
复制
# 使用 kubeadm 升级
sudo kubeadm upgrade plan v1.35.1
sudo kubeadm upgrade apply v1.35.1
  1. 升级其他控制平面节点
代码语言:javascript
复制
sudo kubeadm upgrade node
  1. 升级工作节点
代码语言:javascript
复制
# 在每个工作节点上执行
sudo kubeadm upgrade node
  1. 验证升级
代码语言:javascript
复制
kubectl get nodes
kubectl version --short

升级后验证

  1. 检查 Pod 状态
代码语言:javascript
复制
kubectl get pods --all-namespaces
  1. 检查节点状态
代码语言:javascript
复制
kubectl get nodes -o wide
  1. 检查监控指标
代码语言:javascript
复制
# 确认 apiserver_watch_events_sizes 指标正常
  1. 测试功能
  • 创建测试 Pod
  • 测试 kubectl exec
  • 验证双栈服务(如果使用 Windows 节点)
  • 测试 DRA 功能(如果使用)

⚠️ 重要注意事项

v1.35.1 特别注意

  1. 检查 DRA 配置
    • 如果使用动态资源分配,验证设备分配是否正常
    • 检查 ResourceClaim 状态
  2. 监控调度性能
    • 确认调度器性能回归已修复
    • 观察 Pod 调度延迟

v1.34.4 特别注意

  1. 监控指标检查
    • 验证 apiserver_watch_events_sizes 指标是否正常
    • 更新监控查询和告警规则
  2. 自定义资源验证
    • 测试 CRD 的验证逻辑
    • 确认状态子资源正常工作

v1.33.8 特别注意

  1. 安全补丁确认
    • 确认 CVE-2025-4563 和 CVE-2025-5187 已修复
    • 检查 NodeRestriction 准入控制器配置
  2. 准入策略测试
    • 验证 ValidatingAdmissionPolicy 功能
    • 确认数据竞争问题已解决

v1.32.12 特别注意

  1. 安全补丁确认
    • 确认所有 CVE 已修复
    • 检查 Kubelet Checkpoint API 配置
  2. Windows 节点安全
    • 如果使用 Windows 节点,确认 CVE-2024-9042 已修复
    • 验证命令注入防护

📊 版本选择建议

新集群部署

推荐使用:

  • v1.35.1: 最新稳定版,功能最全
  • v1.34.4: LTS 版本,长期支持

现有集群升级

当前版本

推荐升级到

升级路径

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 支持从当前版本到最新补丁版本,以及从当前版本到下一个次版本的第一个补丁版本。

允许的升级路径示例:

  • v1.32.11 → v1.32.12 ✓
  • v1.32.11 → v1.33.0 ✗ (不支持)
  • v1.32.11 → v1.33.8 ✗ (不支持)

正确做法:

  1. v1.32.11 → v1.32.12
  2. v1.32.12 → v1.33.8
  3. v1.33.8 → v1.34.4
  4. v1.34.4 → v1.35.1

🔗 相关链接

  • Kubernetes GitHub 仓库: https://github.com/kubernetes/kubernetes
  • Kubernetes 官方文档: https://kubernetes.io/docs/
  • Release Notes: https://github.com/kubernetes/kubernetes/releases
  • CHANGELOG:
    • v1.35
    • v1.34
    • v1.33
    • v1.32
  • 安全公告: https://kubernetes.io/docs/reference/issues-security/security/

📝 总结

本次 Kubernetes 多版本同步发布,重点修复了以下关键问题:

动态资源分配 (DRA) 竞态条件 - 所有4个版本都包含此修复

多个安全漏洞 - 特别是 v1.33 和 v1.32 系列的 CVE

Kubeadm 稳定性 - 节点管理和集群初始化更可靠

Windows 支持 - 双栈服务和 kube-proxy 稳定性提升

监控和指标 - API Server 监控指标修复

性能优化 - 调度器性能回归修复

强烈建议: 所有使用这些版本的用户尽快升级到对应的最新补丁版本,以获得安全修复和稳定性改进。

版本选择:

  • 新集群: 推荐使用 v1.35.1 或 v1.34.4
  • 现有集群: 按照推荐升级路径逐步升级

注意事项:

  • 升级前务必备份数据
  • 在测试环境充分验证后再升级生产环境
  • 检查相关监控指标和告警规则

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编码如写诗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🎯 引言
  • 📊 版本概览
  • 🔥 v1.35.1 重点更新
    • 🚨 关键 Bug 修复
      • 1. 动态资源分配 (DRA) 竞态条件修复
      • 2. Windows kube-proxy 双栈服务修复
      • 3. kubectl exec Panic 修复
      • 4. 调度器性能回归修复
    • ✨ 功能改进
      • Kubeadm 稳定性增强
      • Go 版本升级
      • 其他修复
  • 🚀 v1.34.4 重点更新
    • 🚨 关键 Bug 修复
      • 1. DRA 设备重复分配修复
      • 2. Kubernetes API Server 监控指标修复
      • 3. 自定义资源验证 Panic 修复
      • 4. Kubeadm Etcd Learner 等待机制
    • ✨ 功能改进
      • 参数顺序保留
      • 其他修复
      • Go 版本升级
  • 🛡️ v1.33.8 重点更新
    • 🔒 安全更新历史
      • CVE-2025-4563 (v1.33.2 修复)
      • CVE-2025-5187 (v1.33.4 修复)
    • 🚨 关键 Bug 修复
      • 1. DRA 竞态条件修复
      • 2. 准入策略数据竞争修复
      • 3. Windows kube-proxy 稳定性
    • ✨ 功能改进
      • Kubeadm 改进
      • Go 版本升级
  • 🔧 v1.32.12 重点更新
    • 🔒 安全更新历史
      • CVE-2025-0426 (v1.32.2 修复)
      • CVE-2024-9042 (v1.32.1 修复)
      • CVE-2025-4563 (v1.32.6 修复)
      • CVE-2025-5187 (v1.32.8 修复)
    • 🚨 关键 Bug 修复
      • 1. DRA 竞态条件修复
      • 2. Kubeadm 稳定性
      • Go 版本升级
  • 📋 跨版本共同修复总结
    • 所有4个版本都包含的修复:
    • v1.35.1 和 v1.34.4 特有修复:
    • v1.33.8 特有修复:
  • 💡 升级建议
    • 立即升级(紧急)
    • 升级前准备
    • 升级步骤
    • 升级后验证
  • ⚠️ 重要注意事项
    • v1.35.1 特别注意
    • v1.34.4 特别注意
    • v1.33.8 特别注意
    • v1.32.12 特别注意
  • 📊 版本选择建议
    • 新集群部署
    • 现有集群升级
    • 跨版本升级
  • 🔗 相关链接
  • 📝 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档