撰写于 2026
-
宣布成立 Checkpoint/Restore 工作组
借由 Radostin Stoyanov, Viktória Spišaková, Adrian Reber, Peter Hunt | 2026.01.21 在 博客
Kubernetes 社区包含多个特别兴趣小组(SIG)和工作组(WG), 旨在促进感兴趣的贡献者之间就重要议题展开讨论。 今天,我们宣布成立新的 Kubernetes Checkpoint Restore WG, 专注于将 Checkpoint/Restore 功能集成到 Kubernetes 中。 动机和应用场景工作组讨论了以下几个高层次的应用场景: 优化交互式工作负载(例如 Jupyter Notebook 和 AI 聊天机器人)的资源利用率 加速初始化时间较长的应用程序启动, …
-
使用 clientcmd 实现统一的 API 服务器访问
借由 Stephen Kitt (Red Hat) | 2026.01.19 在 博客
如果你曾经想为 Kubernetes API 开发命令行客户端, 特别是如果你考虑过让你的客户端可用作 kubectl 插件, 你可能想知道如何让你的客户端让 kubectl 用户感到熟悉。 快速浏览一下 kubectl options 的输出可能会让你感到沮丧: "我真的需要实现所有这些选项吗?" 别担心,其他人已经为你做了很多相关工作。 实际上,Kubernetes 项目提供了两个库来帮助你在 Go 程序中处理 kubectl 风格的命令行参数: clientcmd …
-
Kubernetes v1.35:通过 exec 插件 allowList 限制 kubeconfig 调用的可执行文件,该插件已添加到 kuberc
借由 Peter Engelbert (Microsoft) Ben Petersen (Microsoft) | 2026.01.09 在 博客
你知道吗?kubectl 可以在你不知情的情况下,以调用用户的完整权限运行任意可执行文件(包括 shell 脚本)。 每当你下载或自动生成 kubeconfig 时,users[n].exec.command 字段可以指定一个可执行文件代表你获取凭证。 别误会,这是一个很棒的特性,允许你使用外部身份提供者向集群进行身份验证。 然而,你可能已经看到了问题:你确切知道你的 kubeconfig 在系统上运行的是什么可执行文件吗? 你信任生成你 kubeconfig 的流水线吗? …
-
Kubernetes v1.35:可变的 PersistentVolume 节点亲和性(Alpha)
借由 Weiwen Hu (Alibaba Cloud), YuanHui Qiu (Alibaba Cloud) | 2026.01.08 在 博客
PersistentVolume 的节点亲和性 API 可以追溯到 Kubernetes v1.10。 它被广泛用于表示卷可能无法被集群中的所有节点平等访问。 该字段以前是不可变的, 现在在 Kubernetes v1.35(Alpha)中变为可变的。此更改为更灵活的在线卷管理打开了大门。 为什么要使节点亲和性可变? 这就提出了一个明显的问题:为什么现在要使节点亲和性可变? 虽然像 Deployments 这样的无状态工作负载可以自由更改, 并且更改会通过重新创建每个 Pod 自动推出, …
-
Kubernetes v1.35:向 CSI 驱动程序传递服务账号令牌的最佳方式
借由 Anish Ramasekar (Microsoft) | 2026.01.07 在 博客
如果你维护使用服务账号令牌的 CSI 驱动程序, Kubernetes v1.35 带来了一项你希望了解的改进。 自从引入 TokenRequests 特性以来, CSI 驱动程序请求的服务账号令牌一直通过 volume_context 字段传递给他们。 虽然这可以工作,但它不是存储敏感信息的理想位置, 我们已经看到过在 CSI 驱动程序中意外记录令牌的情况。 Kubernetes v1.35 引入了一个 Beta 解决方案来解决这个问题: 通过 Secret 字段实现服务账号令牌的 CSI …
-
Kubernetes v1.35:扩展容忍度运算符以支持数值比较(Alpha)
借由 Heba Elayoty (Microsoft) | 2026.01.05 在 博客
许多生产级 Kubernetes 集群会混合使用按需(on-demand,高 SLA)节点与 spot/可抢占(preemptible,低 SLA)节点, 以在保证关键工作负载可靠性的同时优化成本。平台团队需要一个“安全默认值”,让大多数工作负载远离风险容量, 同时又允许特定工作负载用明确阈值显式选择接受(opt-in),例如“我可以容忍失败概率最高 5% 的节点”。 目前,Kubernetes 的污点与容忍度(taints and tolerations)可以匹配精确值或检查键是否存在, 但 …
-
Kubernetes v1.35: 通过就地重启 Pod 实现更高的效率
借由 Yuan Wang Giuseppe Tinti Tomio Sergey Kanzhelev | 2026.01.05 在 博客
Kubernetes 1.35 版本引入了一项强大的新特性,满足了用户对 Pod 就地重启的迫切需求。 这项名为“重启所有容器”(Restart All Containers,1.35 版本为 Alpha 版)的特性, 相比于资源用量较高的删除并重建整个 Pod 的方式,能够更高效地重置 Pod 的状态。 该特性对于 AI/ML 工作负载尤为实用,使应用程序开发人员能够专注于核心训练逻辑, 同时将复杂的故障处理和恢复机制交给边车容器和声明式 Kubernetes 配置来处理。 …
撰写于 2025
-
Kubernetes 1.35:版本化 z-pages API 带来更强大的调试能力
借由 Richa Banker, Han Kang | 2025.12.31 在 博客
调试 Kubernetes 控制平面组件可能很具挑战性, 尤其是在需要快速理解组件运行时状态或验证配置时。 在 Kubernetes 1.35 中,我们为 z-pages 调试端点带来结构化、可被机器解析的响应, 让构建工具和自动化排障流程变得更加轻松。 什么是 z-pages? z-pages 是 Kubernetes 控制平面组件所公开的特殊调试端点。 它们在 Kubernetes 1.32 中以 Alpha 特性引入, …
-
Kubernetes v1.35:云控制器管理器中的基于监视的路由协调
借由 Lukas Metzner (Hetzner) | 2025.12.30 在 博客
在 Kubernetes v1.34 及更早版本中,使用 k8s.io/cloud-provider 库构建的云控制器管理器(CCM)实现中的路由控制器会以固定的时间间隔进行路由协调。 这会导致在路由没有变化的情况下,向云提供商发出不必要的 API 请求。 其他使用同一库实现的控制器已经使用基于监听的机制, 利用 informer 来避免不必要的 API 调用。 v1.35 版本引入了一个新的特性门控,允许更改路由控制器的行为, 使其使用基于监听的 informer。 新特性SIG Cloud …
-
Kubernetes v1.35:引入工作负载感知调度
借由 Maciej Skoczeń (Google), Dominik Marciński (Google) | 2025.12.29 在 博客
调度大型工作负载比调度单个 Pod 更复杂、也更脆弱, 因为它通常需要把所有 Pod 作为整体来考虑,而不是逐个独立调度。 例如,在调度一个机器学习批处理任务时, 你往往需要有策略地放置每个 worker(例如放在同一个机架上), 才能让整体执行效率更高。 同时,这类工作负载中的 Pod 在调度视角下往往非常相似, 这从根本上改变了调度过程应有的形态。 虽然已经有很多定制调度器可以高效处理工作负载调度, 但考虑到工作负载调度对 Kubernetes 用户的普遍性和重要性, 尤其是在 AI 时代 …