Kubernetes v1.35 抢先看

随着 Kubernetes v1.35 发布临近,Kubernetes 项目持续发展。部分功能可能被废弃、移除或替换,以提升项目整体健康度。本文介绍了 v1.35 计划中的变更,发布团队认为你应当了解这些内容,以保证 Kubernetes 集群的平稳运行,并及时掌握最新进展。以下内容基于当前 v1.35 状态,最终版本可能有所调整。

Kubernetes v1.35 的废弃与移除

cgroup v1 支持

Linux 节点上,容器运行时通常依赖 cgroup(控制组)。Kubernetes 自 v1.25 起已对 cgroup v2 提供稳定支持,作为对原始 cgroup v1 的替代。cgroup v1 曾是最初的资源控制机制,但存在已知不一致和限制。支持 cgroup v2 后,实现了统一的控制组层级,提升资源隔离,并为现代特性奠定基础,故旧版 cgroup v1 支持将被移除。

cgroup v1 支持移除只会影响运行在不支持 cgroup v2 的旧 Linux 发行版节点,相关节点上的 kubelet 将无法启动。管理员需将节点迁移到启用 cgroup v2 的系统。关于兼容性要求的详细信息将在 v1.35 发布后不久通过博客发布。

kube-proxy 中 ipvs 模式的废弃

Kubernetes 很早以前在 kube-proxy 中实现了 ipvs 模式,因其负载均衡性能优于 iptables 模式而被采用。但由于技术复杂性和需求分歧,维护 ipvs 与其他模式的功能一致性变得困难,导致技术债务增加,且不利于支持新网络功能。

因此,Kubernetes 计划在 v1.35 中废弃 kube-proxy 的 ipvs 模式,简化代码库。对于 Linux 节点,推荐使用的 kube-proxy 模式已是 nftables。

Kubernetes 废弃 containerd v1.x 支持

虽然 v1.35 仍支持 containerd 1.7 及其他 LTS 版本,但因自动 cgroup 驱动检测机制,SIG Node 社区已正式确定 containerd v1.x 的最终支持时间表。v1.35 是最后支持该版本的 Kubernetes 版本(对应 containerd 1.7 EOL)。

这是最后警告:如果你还使用 containerd 1.x,必须在升级 Kubernetes 到下一个版本前切换到 2.0 或更高版本。可通过监控 kubelet_cri_losing_support 指标,检测集群中是否有节点使用即将不支持的 containerd 版本。

Kubernetes v1.35 重点新特性

以下是部分预计包含于 v1.35 的新特性,内容非最终确定,可能会变动。

节点声明特性

调度 Pod 时,Kubernetes 通过节点标签、污点和容忍匹配工作负载需求与节点能力。但升级时控制平面与节点版本不一致,导致节点特性兼容性难管,可能让 Pod 被调度到不支持所需特性的节点,导致运行失败。

节点声明特性框架为节点声明支持的 Kubernetes 功能提供标准机制。启用该 alpha 功能后,节点通过 .status.declaredFeatures 字段向控制平面报告支持的功能,调度器、准入控制器及第三方组件可基于此信息进行调度和 API 验证,确保 Pod 仅调度到兼容节点。

该机制减少手动标签管理,提升调度准确率,且可与 Cluster Autoscaler 集成,实现更智能的扩容决策。特性声明与 Kubernetes 功能开关绑定,方便安全推广和清理。

计划在 v1.35 作为 alpha 发布。

Pod 资源原地更新

Pod 资源原地更新功能毕业为 GA,允许用户调整 Pod 的 CPU 和内存资源,无需重启 Pod 或容器。之前这类调整需重建 Pod,影响有状态或批处理应用稳定性。

CRI 也有改进,Windows 及未来运行时支持 UpdateContainerResources API,ContainerStatus 可报告实时资源配置。整体提升 Kubernetes 的弹性扩缩容能力,减少中断。该功能自 v1.27 alpha 起步,v1.33 升级为 beta,v1.35 计划稳定。

Pod 证书支持

微服务间通常需要强身份认证,实现基于 mTLS 的安全通信。Kubernetes 提供的 Service Account Token 只适用于 API 认证,非通用工作负载身份。
之前需依赖 SPIFFE/SPIRE 或 cert-manager 等外部项目管理证书。KEP-4317 设计了原生 Pod 证书支持,允许 kubelet 通过投影卷自动请求并挂载短期唯一证书,简化服务网格和零信任网络策略的部署。

该功能在 v1.34 作为 alpha 发布,v1.35 目标升级为 beta。

污点的数值比较支持

Kubernetes 扩展污点和容忍机制,新增数值比较操作符,如 Gt(大于)、Lt(小于)。

此前容忍只支持等于或存在匹配,不适合数值属性(如可靠性 SLA)。新支持后,Pod 可容忍满足特定数值阈值的节点,例如要求 SLA 污点值大于 950。

该机制比节点亲和性更强大,支持 NoExecute 效果,节点数值低于阈值时自动驱逐 Pod。

用户命名空间支持

Pod 内可用 securityContext 降权,但容器内进程通常仍以 root(UID 0)运行,且此 UID 映射到宿主机 root。此设计存在容器逃逸风险。

KEP-127 引入 Linux 用户命名空间支持,动态将容器 root 映射为宿主机上的非特权高 UID。容器内仍拥有 root 权限,但宿主机上是普通用户,极大提升安全性。

该功能自 v1.25 alpha 起,v1.30 beta,持续完善中,为未来“无 root”容器奠定基础。

支持将 OCI 镜像挂载为卷

Pod 配置时常需携带数据、二进制或配置文件。以前多将数据打包进镜像,或用 init 容器下载解压到 emptyDir。

Kubernetes v1.31 增加 image 卷类型支持,允许 Pod 直接从 OCI 镜像仓库拉取并解包数据卷,解耦数据与镜像,简化流程。该卷类型自 v1.33 进入 beta,v1.35 可能默认启用。

更多详情可查看:https://kubernetes.io/blog/2025/11/26/kubernetes-v1-35-sneak-peek/

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/386032

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。