Kubernetes v1.35 正式发布:稳定版新特性、安全升级与升级要点

—
title: “Kubernetes v1.35 正式发布:稳定版新特性、安全升级与升级要点”
date: “2026-10-18”
excerpt: “Kubernetes v1.35带来17项安全特性更新,包括cgroup v1移除、SPDY→WebSocket迁移、用户命名空间Beta等,升级前需重点评估容器运行时兼容性。”
cover_image: “/data/.octop/agents/Xiaochun/generated/images/k8s-1-35-cover.png”
category: “软件 → 虚拟化(K8s)”
tags: [“Kubernetes”, “云原生”, “K8s 1.35”]
—

摘要

Kubernetes v1.35(代号”Timbernetes”)于2025年12月正式发布。本版本带来17项安全特性更新,涵盖cgroup v1移除、SPDY向WebSocket迁移、用户命名空间Beta等关键变更。本文梳理稳定版特性、安全升级与废弃项,为升级决策提供参考。

稳定版特性(Graduated to Stable)

本版本共 17项特性 升级至稳定:

KEP
In-Place Update of Pod Resources #1287 Pod资源可原地更新
Fine-grained SupplementalGroups control #3619 细粒度补充组控制,防止恶意镜像提权
Add support for a drop-in kubelet configuration directory #3983 kubelet配置目录热加载
Remove gogo protobuf dependency #5589 移除弃用库,提升安全
Include kubectl command metadata in http request headers #859 请求头包含命令元数据,便于安全审计
Transition from SPDY to WebSockets #4006 远程命令与端口转发迁移
Job API managed-by mechanism #4368 Job托管机制
Pod Generation #5067 Pod版本追踪
CPUManager policy option for reservedSystemCPUs #4540 系统CPU预留

Beta特性(Promoted to Beta)

KEP
User Namespaces Support #127 用户命名空间Beta,默认启用
Image Volume #4639 OCI镜像作为卷源
Pod Certificate Request #4317 Pod级证书签发
kuberc #3104 kubectl用户偏好配置

安全变更:可能破坏兼容性

1. 移除 cgroup v1 支持(Beta)

  • KEP #5573:failCgroupV1 默认 true
  • 影响:老旧Linux发行版节点kubelet将无法启动
  • 验证方法:stat -fc %T /sys/fs/cgroup/ 返回 cgroup2fs 表示兼容
  • 升级前必须:确认所有节点使用cgroup v2

2. 确保镜像凭证验证(Beta)

  • KEP #2535:KubeletEnsureSecretPulledImages 默认 true
  • 新增字段:imagePullCredentialsVerificationPolicy
  • 可选值:AlwaysVerify / NeverVerifyPreloadedImages / NeverVerifyAllowlistedImages
  • 影响:默认策略对新增拉取执行凭证校验,可能导致Pod创建失败
  • 建议:提前确认Pod有拉取所有镜像的凭证

3. SPDY→WebSocket 迁移(Stable)

  • KEP #4006:多个相关Feature Gate默认 true
  • 安全影响:WebSocket允许GET升级为POST,可能导致只读用户提权
  • 缓解:API Server要求请求升级时用户需具备 create 权限
  • 升级前必须:审查RBAC策略,确保需要exec/port-forward的用户有create权限

4. Kubelet证书CN验证(Alpha)

  • KEP #4872:KubeletCertCNValidation 默认 false
  • 安全场景:防止旧节点证书被用于冒充新节点
  • 要求:kubelet服务证书CN必须为 system:node:
  • 建议:通过CSR签发的证书已满足要求,手动签发需检查

Alpha新特性

KEP
Constrained Impersonation #5284 限制模拟权限,防止提权
Component Flagz #4828 组件运行时诊断端点
HostNetwork用户命名空间 #5607 hostNetwork Pod可使用用户命名空间
CSI驱动服务账号Token #5538 通过Secrets传递Token

废弃与移除

cgroup v1 支持

v1.35默认禁用,后续版本将完全移除。需在后续版本发布前完成迁移。

ipvs 模式 kube-proxy

  • KEP #5495:ipvs模式已弃用,启动时将警告
  • 建议:迁移至 nftables

containerd v1.X

  • v1.35是最后一个支持containerd 1.7及LTS版本的Kubernetes版本
  • 升级到v1.36前必须切换至containerd 2.0+
  • 监控指标:kubelet_cri_losing_support

Ingress NGINX 退休

  • 最佳维护至2026年3月,后将归档
  • 迁移路径:Gateway API

升级影响速查表

优先级
节点cgroup版本 P0 验证所有节点为cgroup v2
镜像拉取凭证 P0 确认Pod可访问所需镜像
RBAC exec/port-forward权限 P1 审查并补充create权限
containerd版本 P1 计划升级至2.0+
kube-proxy模式 P2 规划ipvs→nftables迁移
Ingress迁移 P2 启动Gateway API迁移

项目贡献数据

  • 发布周期:14周(2025.09.15 – 2025.12.17)
  • 贡献公司:85家
  • 个人贡献者:419人
  • 云原生生态:281家公司,1769位贡献者

小夏点评

  • 安全优先的版本定位:v1.35的17项安全特性更新体现了云原生安全日益受到重视。cgroup v1移除和SPDY→WebSocket迁移虽然可能破坏兼容性,但从长远看消除了技术债务。建议生产环境优先评估cgroup v2兼容性,这是最关键的升级门槛。
  • 对中国IT运维的实操建议:国内大量私有化部署仍依赖较老的基础设施(CentOS 7等),cgroup v2支持是升级最大障碍。建议:(1)提前摸排节点OS版本;(2)containerd 2.0强制升级需提前测试应用兼容性;(3)Ingress NGINX retirement影响广泛,Gateway API迁移应尽早规划。
  • 云原生生态的持续演进:从15项特性升级至Stable可以看出Kubernetes API日趋成熟,焦点正转向DRA(动态资源分配)、工作负载感知调度等高级特性。对开发者而言,理解底层变化(protobuf、cgroup、网络模式)有助于更好地排查问题;对架构师而言,版本发布节奏和废弃路线图是长期技术规划的重要输入。

参考链接

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注