技术文章Kubernetes Blog
文章介绍 Kubernetes v1.37 将 PersistentVolumeClaimUnusedSinceTime 特性门控提升为 Beta 并默认启用。PVC 保护控制器会在每个 PVC 上维护 Unused 条件:没有非终态 Pod 引用时为 True,原因为 NoPodsUsingPVC;至少一个运行或 Pending Pod 引用时为 False,原因为 PodUsingPVC。文章说明已完成 Pod 不计入使用,Pending Pod 仍计入,多个 Pod 需等最后一个非终态 Pod 移除后才转为 True,并利用 lastTransitionTime 判断 PVC 空闲多久。文中给出 kubectl/jq 查看条件和筛选闲置超过 30 天 PVC 的示例,并指出 Alpha 到 Beta 增加了端到端测试,未来计划 GA。适用于集群存储清理与成本治理,但特性仍处 Beta,行为可能随版本演进。
推荐收录。该文不是简单发布公告,而是由 Kubernetes 官方给出 Unused 条件的精确语义、终态/Pending/多 Pod 边界和可执行 jq 查询,可直接指导闲置 PVC 发现与存储成本治理。适合 Kubernetes 存储管理员、SRE/DevOps 和平台工程读者,迁移价值在于把 PVC 生命周期可观测性纳入日常运维。需注意其行为绑定 v1.37 Beta,后续 GA 可能调整。
技术文章Kubernetes Blog
Kubernetes v1.37 引入 volumeMounts.bindMountOptions 与 emptyDir.mode 两项 Alpha 安全特性,用于在容器卷挂载上设置 noexec、nosuid、nodev,并控制 emptyDir 创建权限。文章先回顾 Linux bind mount 标志、Unix 权限和 sticky bit,指出默认 emptyDir 为 0777 且缺少挂载选项,会导致可写卷中执行恶意二进制或跨容器删除文件。随后用 Pod 示例展示 /tmp 启用 noexec/nosuid,以及用 01777 保护共享目录,并给出 kubectl exec 验证方法。还说明 bindMountOptions 与 PV mountOptions 分层不同、fsGroup 会覆盖 mode、仅 Linux 生效、需要运行时支持 CRI mount_options、特性门控和版本偏移行为。适用边界是 Alpha,默认行为不变,未启用门控或运行时不支持时不会生效或会被拒绝。
推荐收录,因为文章不仅介绍 Kubernetes v1.37 新特性,还给出 Linux 底层机制、Pod 清单、验证命令,以及和 PV mountOptions、fsGroup、运行时支持之间的边界,属于可复用的安全加固参考。适合 Kubernetes 平台工程师、应用开发者和安全工程师,在设计多容器共享卷权限或启用 Alpha 特性时参考;主要风险是特性仍为 Alpha,生产采用需关注门控和运行时兼容性。
技术文章Kubernetes Blog
文章介绍 Kubernetes v1.37 中 Memory QoS 升级为 Beta 并默认启用。该特性基于 Linux cgroup v2 内存控制器,通过 memory.high 节流 Burstable/BestEffort 容器,通过 memory.min/memory.low 为 Guaranteed 和 Burstable Pod 提供分层内存预留,分别由 kubelet 的 memoryThrottlingFactor 和 memoryReservationPolicy=TieredReservation 控制。v1.37 将 memoryThrottlingFactor 默认值从 0.9 改为 null,使升级本身不改变既有集群的运行行为,并给出仅节流、节流加预留、仅预留、整体关闭四种配置组合及关闭时清理陈旧保护值的规则。文章也点明局限:预留策略按节点全局生效,无法按 Pod 粒度选择,且硬预留覆盖页缓存等 cgroup 计入项。内容偏特性说明与配置指南,缺少实测数据。
推荐收录:文章来自 Kubernetes 官方博客,给出了 v1.37 Memory QoS 的机制说明、默认值变更对升级行为的影响,以及四种可直接照搬的 kubelet 配置组合与关闭时的清理规则,可直接支撑集群升级和节点内存资源调优决策。适合 K8s 运维、SRE 与节点资源管理读者。风险在于内容以特性说明为主,缺少量化验证,节点级预留策略的局限需结合文中 issue 评估后再落地。
工程实践Kubernetes Blog
文章介绍 Kubernetes v1.37 中原生直方图(Native Histograms)由 Alpha 升级为 Beta 并默认启用。原生直方图采用 Prometheus 的动态指数桶替代静态 le 桶,把正负 span、零阈值与指数缩放因子合并到单条时间序列,从而自动适配纳秒到小时的取值、最多减少约 90% 时间序列,并将分位数误差约束在约 5% 以内。Kubernetes 通过在共享 metrics 子系统 k8s.io/component-base/metrics 中实现双暴露,同时输出经典桶和原生 span,保证既有仪表盘与告警零破坏,并默认使用 BucketFactor 1.1、MaxBucketNumber 160 等参数。文章还给出 Prometheus 3.x/2.x 抓取配置、Protobuf 验证方式、PromQL 查询对比,以及四步迁移与回滚策略。局限在于该特性仍为 Beta,经典桶的最终弃用取决于整个监控生态的成熟度。
推荐收录,因为文章不仅宣布特性状态,还交代了双暴露避免破坏性变更的设计取舍、默认指数桶参数、Prometheus 抓取与 PromQL 迁移示例,以及可逐级回滚的迁移流程,可直接落地为可观测性工程参考。适合 SRE、平台工程和监控负责人在评估指标精度与存储成本时使用。风险是该特性仍处 Beta,细节可能随 GA 调整,需结合自身 Prometheus 版本验证。
技术文章Kubernetes Blog
Kubernetes v1.37 引入调度器抢占以支持就地 Pod 资源调整(Alpha)。此前运行中 Pod 申请扩容若超出节点余量,Kubelet 会将其标记为 Deferred 并无限等待;新特性让调度器跟踪此类 Pod,并在其所在节点上抢占低优先级 Pod 释放容量,使高优先级应用的扩容得以完成。抢占严格限于同一节点,扩容资源被视为已消费以避免重复分配,且决策统一交由调度器以遵循全局优先级、PDB 与优雅终止策略,并支持节点级关闭。文章含 kind 集群验证示例,但该特性仍为 Alpha,要求 v1.37+ 且全组件启用门控,若无合适抢占对象则扩容仍保持 Deferred。
推荐收录:文章来自 Kubernetes 官方博客,系统解释了 v1.37 就地 Pod 扩缩容的调度器抢占机制,包括 Deferred 状态处理、同节点抢占边界、资源预留和与 Kubelet 的职责分离,并给出可复现的 kind 验证步骤和节点级关闭配置。适合平台工程师、SRE 和集群运维人员评估在资源高利用率场景下如何安全使用就地扩缩容;其架构权衡与验证方法可迁移到其他调度策略设计。需注意该特性仍为 Alpha,且要求 v1.37+ 全组件启用门控,后续版本可能调整。
技术文章Kubernetes Blog
文章介绍 Kubernetes v1.37 在工作负载感知调度(Workload-Aware Scheduling, WAS)上的重要进展。核心内容是 Workload/PodGroup API 与 gang scheduling 从 alpha 升级为 Beta,并引入新的 CompositePodGroup API,以树形层次结构表达复杂分布式负载的层级调度需求。文章详述了多级 gang 调度、workload-aware preemption 对 PodGroup 与 CompositePodGroup 的支持,以及多级 topology-aware scheduling 的自顶向下约束解析机制。同时给出 controller integration APIs 和 workloadbuilder 库,帮助自定义控制器复用标准化的调度原语,并展示原生 Job 控制器新增 .spec.scheduling 字段的集成方式。DRA ResourceClaim 支持也随之进入 Beta,并修复了禁用特性时可能批量创建 ResourceClaim 的问题。所有 Beta/Alpha 特性仍需手动开启,作者还列出了通往 v1.38 的规划,包括 API GA 与 Kueue 对齐等。
文章是 Kubernetes 官方博客对 v1.37 调度新特性的完整技术说明,包含 API 字段示例、调度算法变化、feature gate 与迁移注意事项,是一份可长期查阅的工程参考。适合集群调度开发、平台工程、AI/ML 基础设施相关读者,尤其需要理解 gang scheduling 与层级拓扑约束的实现方式。它的可迁移价值在于提供了标准化的控制器集成构建块,但需注意多数特性仍为 Alpha/Beta 且默认关闭,实际采用前应验证版本兼容与稳定性。
技术文章Kubernetes Blog
文章介绍 Kubernetes v1.37 将 KubeletInUserNamespace 特性门控升级为 beta,即 rootless mode,使 kubelet、CRI/OCI 运行时、CNI 插件和 kube-proxy 等节点组件能以非 root 用户在 Linux 用户命名空间内运行。文章通过多个容器逃逸漏洞(如 cr8escape、runc 绑定挂载逃逸等)说明该特性的安全动机,并澄清其与 pod 用户命名空间(hostUsers:false)的区别,指出两者可组合实现 Kubernetes-in-Kubernetes。工作原理部分解释了内核用户命名空间将主机非 root 用户映射为命名空间内 fake root,以及 kubelet 对 sysctl 和 /dev/kmsg 权限错误的处理。文中还给出生产集群、共享机器、笔记本、AI 沙箱和嵌套集群等典型用例,并通过 kind、minikube、Usernetes、k3s 等工具展示使用方法。最后说明该特性对内核自身漏洞无效,仍需配合 seccomp 等传统加固,且存在 CNI/CSI 兼容性限制。
推荐收录,因为这是 Kubernetes 官方对 rootless 节点模式进入 beta 的权威说明,包含 KEP 线索、漏洞实例、架构取舍、使用边界和部署工具链,信息密度高且可验证。适合需要加固容器运行时、规划多租户或嵌套 Kubernetes 的 SRE、平台工程师和安全研究人员阅读。文中的威胁模型和用户命名空间隔离思路可迁移到云原生安全设计,但需注意特性仍为 beta,并依赖外部 rootless 运行时与 CNI/CSI 兼容性。
技术文章Kubernetes Blog
文章介绍 Kubernetes v1.37 中 HorizontalPodAutoscaler(HPA)支持将工作负载缩容到零副本的 Beta 特性。作者首先解释了为什么缩零必须使用 object 或 external metric,因为 CPU/内存这类资源指标来自运行中的 Pod,副本为零时无法提供扩容信号;而队列长度等外部指标可以在无 Pod 时继续读取。随后给出了基于 Prometheus external metric 的配置示例,包括 metrics adapter 规则、验证指标可用性的 kubectl 命令以及 HPA 清单。文章重点说明了 ScaledToZero 状态条件如何区分控制器自动缩零与运维人员手动暂停,并列出升级、回滚或禁用特性时的注意事项。最后讨论了冷启动延迟和适用场景:该特性最适合队列消费者、批处理等可容忍延迟的工作负载,而 HTTP 请求型负载需要额外的缓冲层。
本文是 Kubernetes 官方博客对 HPA 缩零 Beta 特性的权威说明,不仅包含配置示例,还深入解释了对象/外部指标的必要性、ScaledToZero 条件设计以及版本升级时的风险控制,信息密度高且可长期参考。适合平台工程师、SRE 和云原生应用开发者阅读,可直接指导基于队列的弹性伸缩部署。
技术文章Kubernetes Blog
Kubernetes v1.37 将 etcd RangeStream 特性推进到 beta 阶段,配合 etcd v3.7 用于降低 API server 与 etcd 在处理大规模资源列表读取时的内存占用,并让峰值内存更可控。文章指出 API server 通常用内存 watch cache 服务 list/watch 请求,但填充该缓存需从 etcd 读取整个资源的完整状态;此前虽按 key 数分页,但无法感知对象大小,可能导致单页过大、内存不可预测并触发 OOM。etcd v3.7 新增 RangeStream RPC 后,服务端将结果集拆分成按字节自适应调度的块并流式发送,API server 逐块解码并释放内存,避免任何一侧持有全量集合。特性通过 EtcdRangeStream 特性门控默认开启,API server 在启动时检测 etcd 版本并支持运行时回退到旧的 Range 路径,文章同时提供了 listStream 指标用于确认是否生效,以及关闭和查询条件等运维细节。
推荐收录的核心理据在于它把一次 API server 内存问题的成因、协议改动和回退保障讲清楚了:从分页粒度与对象大小失配这一根因,到 RangeStream 的字节自适应分块,再到可观测指标与兼容性设计。对于维护大规模 Kubernetes 集群、需要理解 APIServer/etcd 读取路径的读者,这篇官方说明可以作为功能背景与排查入口;若需要更深层的数据,可再追看 KEP-5966。
技术文章Kubernetes Blog
文章宣布 Kubernetes v1.37 中存储版本迁移(SVM)功能达到 GA 并默认启用。它解释了当 API 对象存储版本变更时,旧的资源仍以旧版本序列化,导致无法安全删除旧 API 版本或完成静态加密密钥轮换。传统手动 kubectl 替换或外部组件繁琐易错。SVM 提供声明式 StorageVersionMigration 对象,内置控制器自动迁移资源到当前存储版本。文章给出了 CRD 迁移示例、迁移状态监控方法,以及在 CRD 升级时同时提交迁移的实践。还提醒成功迁移后应确认 CRD 的 status.storedVersions 已更新,若迁移过程中 CRD 被修改则需重试。该指南面向集群管理员和 CRD 作者,属于官方文档性质,操作性强。
官方博客对 Kubernetes 存储版本迁移的完整解析,包含问题背景、工作原理和操作示例,不是简单的版本发布新闻。适合 Kubernetes 集群管理员、CRD 开发者和平台工程团队。文中对迁移后状态校验和重试条件的说明,能够指导实际安全升级流程,具有长期参考价值。
技术文章Kubernetes Blog
本文介绍 Kubernetes v1.37 中正式 GA 的 Pod Certificates 与 Cluster Trust Bundles 机制,旨在为工作负载提供基于 X.509 证书的内置生产身份。文章先对比了服务账户 JWT 的优劣,指出 JWT 作为不记名令牌存在被持有即冒充的风险,而证书通过私钥持有证明(proof-of-possession)可提供更强身份保证。随后详细拆解了架构:应用在 Pod 中声明证书与信任束卷,Kubelet 负责生成私钥、创建 PodCertificateRequest 并由外部 signer controller 签发证书,同时将 ClusterTrustBundle 合并写入容器文件系统;证书自动轮换、支持单文件凭据捆绑以简化应用处理。文章还强调了安全边界,如节点限制准入插件保证节点隔离,并介绍了实验性示例 Tinycert 以及 SPIFFE 文件系统交付标准。文中明确指出核心 Kubernetes 尚未内置证书 signer,需要第三方实现,且证书有效期最长 91 天,应用必须处理自动轮换。
推荐收录。文章来自官方博客,准确说明了 Kubernetes 新增身份机制的动机、架构和关键约束,不是简单的发布通告,而是具备完整的技术细节和设计取舍。适合平台工程师、SRE 和安全方向读者理解云原生工作负载身份认证的演进,对设计基于证书的 mTLS 系统有直接参考价值,但需注意文中 signer 尚未内置,应用时需依赖第三方实现。
技术文章Kubernetes Blog
本文是 Kubernetes 官方发布的 v1.37(Garhwal)版本说明,概述了该版本的 67 项增强:16 项升至 Stable、23 项升至 Beta、27 项进入 Alpha、1 项弃用。重点介绍了多项关键特性,包括稳定后的 ResilientWatchCacheInitialization 和 KYAML、默认启用的 HPA 缩容到零、manifest-based 准入控制配置、Pod 级 checkpoint/restore Alpha 支持,以及 DRA 系列(设备状态、扩展资源、污点容忍、NUMA 属性)和 gang scheduling 等调度能力。文章还说明了 etcd RangeStream、并发 watch 解码、存储版本迁移、PVC 未使用时间跟踪等改进,并给出对应 KEP 编号和负责 SIG。作为官方发布说明,它信息密度高、可追溯性强,但未深入实现细节与验证数据,更适合作为版本特性的索引和升级参考。
推荐收录,因为这是官方第一手版本发布说明,每个特性都标注了 KEP 编号和负责 SIG,信息准确且可长期追溯,适合 Kubernetes 平台工程师、SRE 和调度相关研发人员了解功能演进与升级风险。虽然内容偏重特性罗列而非深度解析,但作为版本史和功能索引具有长期参考价值,可迁移价值在于帮助读者快速定位感兴趣特性的官方来源并进一步阅读 KEP。
技术文章Kubernetes Blog
文章介绍 KYAML,这是 Kubernetes SIG CLI 提出的 YAML 严格子集方言(KEP 5295),旨在消除标准 YAML 编写 Kubernetes 清单时的常见陷阱,如缩进敏感、静默类型转换和缺少注释支持。KYAML 强制使用显式大括号、方括号和字符串引号,同时保留注释和尾随逗号,使结构不再依赖空白,并介于 JSON 和 YAML 之间。文章还详细说明了通过 kubectl -o kyaml、sigs.k8s.io/yaml 的 yamlfmt 工具以及 Google yamlfmt 将现有 YAML 转换为 KYAML 的具体方法,并指出 KYAML 不改变现有工具兼容性,是一种可选的团队协作习惯。
推荐收录,因为它提供了 KYAML 的动机、规范要点和多种可执行转换方案,并明确说明其适用边界与兼容性。对于需要维护复杂 Kubernetes 清单、使用 Helm 模板或希望减少配置错误的团队,文中关于 YAML 陷阱的梳理和工具链使用方法可以直接迁移到日常工程实践中。
技术文章Kubernetes Blog
本文深入剖析了 controller-runtime 缓存的内部机制,解释了为何控制器不会压垮 API 服务器。核心原理是:r.Get 和 r.List 并非直接查询 API 服务器,而是读取由 Reflector 通过 list+watch 构建、存储于 Indexer 的本地内存副本;写操作则直接发往 API 服务器,并通过 watch 异步反馈到缓存。文章详细拆解了 DeltaFIFO 的有序分组与去重、workqueue 的 key 级合并、索引器如何提供类 SQL 的快速查询、选择性缓存及 Transform 等内存优化策略,并列举了读后写期待、共享对象突变、resync 误解等常见误区。全文基于 client-go 原语,提供了从启动阶段到生产调优的完整心智模型,适用于已经编写 Go 控制器但希望深入理解其行为以避免生产意外的工程师。
推荐收录。文章深入揭示了 controller-runtime 缓存的底层模型和常见误区,为 Kubernetes 控制器开发者提供了可迁移的内部视角和防错指南。内容覆盖了从原理、设计取舍到实战优化的完整链路,长期计算参考价值显著,尤其适合需要在高负载集群下保障控制器稳定性和性能的工程团队。
技术文章Kubernetes Blog
本文是一篇面向 Kubernetes 用户的实操教程,详细介绍如何从零开始构建自定义指标导出器(metrics exporter),以解决内置 CPU/内存指标无法反映队列深度、任务处理时间等业务负载的问题。文章首先阐释了导出器的作用和 Prometheus 指标模型(Counter、Gauge、Histogram),随后以 Go 语言和 Prometheus 客户端库为例,逐步演示项目初始化、指标注册、数据采集循环以及 /metrics 和 /healthz 端点的实现。接着提供了多阶段 Docker 构建的示例,将导出器打包为轻量容器,并给出 Deployment 和 Service 的 Kubernetes 清单以便部署。最后,文章配置了 Prometheus 抓取(通过 ServiceMonitor 或注解),并验证了指标查询,为后续结合 HorizontalPodAutoscaler 实现基于自定义指标的自动扩缩容铺平道路。该教程侧重于提供一个可运行的基础实现,但未深入探讨生产环境中的误差处理、高可用部署或更复杂的指标类型,数据源也以模拟值代替真实集成。
推荐收录,因为文章系统地覆盖了从指标选型、代码实现、容器化到集群部署的完整流程,代码示例具体可运行,对 Kubernetes 环境下需要实现自定义监控和自动伸缩的运维和开发人员具有直接指导意义。文中的 Prometheus 客户端用法、Multi-stage Docker 构建和 ServiceMonitor 配置是典型云原生工程实践,可以迁移到其他类型的导出器开发。不足之处在于未讨论生产级可靠性增强,但作为入门基石仍然具有长期参考价值。
工程实践Kubernetes Blog
文章介绍了一个 Headlamp 插件,用于在通用 Kubernetes UI 中直接可视化和管理 Kubeflow 自定义资源,解决运维人员需要频繁退回到 kubectl 排查 AI/ML 工作负载底层问题的痛点。作者分析了何以专用 ML 仪表板对集群操作员不透明,展示了插件如何通过直接读取 Kubernetes API 提供 Notebook Pod 状态、管线运行状态、超参数优化实验等细节,并支持自动发现已安装的 Kubeflow 组件。文中给出了具体视图示例和 map 源注册机制,最后将这一模式推广到任意 CRD 密集型平台。该方案依赖 CRD 存在,不替代数据科学家界面,但为 SRE 和平台工程师提供了统一的集群级可见性。
推荐收录。文章源于 Kubernetes 官方博客,详细展示了将领域专用平台可观测性整合进通用 Kubernetes UI 的完整工程实践:从分析运维人员视角缺口,到设计 CRD 感知的插件视图,再到具体实现与可复用模式总结。适合负责 AI/ML 平台运维的 SRE 和平台工程师,其方法可直接迁移到其他自建 CRD 平台,提升底层资源排障效率和操作一致性。
技术文章Kubernetes Blog
本文是一篇从 Kubernetes Dashboard 迁移到 Headlamp 的完整指南,覆盖架构差异、安装(桌面与集群内)、认证授权、多集群管理、资源浏览与调试、YAML 方式部署应用,以及清理旧 Dashboard 的全流程。文章通过清晰的步骤与检查清单,帮助团队平稳切换,并详细说明了 desktop 使用 kubeconfig 和 in-cluster 通过 OIDC 或 auth proxy 的认证方案,强调 RBAC 最小权限原则。指南还指出 Headlamp 与 Helm/GitOps 的互补关系,以及需要 metrics-server 等可选依赖才能启用资源监控的边界。整体而言,这是一份面向 Kubernetes 运维人员与平台团队的实用迁移手册,适合那些希望采用更贴近 kubectl 风格、原生支持多集群的 Web UI 的组织。
文章来自 Kubernetes 官方博客,权威性高,内容覆盖从评估、安装到清理的完整迁移路径,并包含大量可操作命令与配置示例,具有长期参考价值。适合正在或计划从 Dashboard 切换到 Headlamp 的集群管理员和平台工程师直接复用,其中的多集群切换、YAML 部署和 RBAC 适配经验也对其他 UI 工具选型有借鉴意义。
工程实践Kubernetes Blog
这篇文章聚焦 Kubernetes Device Management Working Group 的成立背景、职责边界和当前重点,核心是在 AI、边缘计算、通信等硬件密集型场景下,如何让 Kubernetes 更好地管理 GPU、TPU、NIC 等专用设备。文章系统解释了 Dynamic Resource Allocation(DRA)的四阶段模型——资源建模、资源请求、调度与执行,并说明 DRA 相比传统 Device Plugin API 的关键改进:从“只能申请几个设备”升级为可表达设备类型、容量、拓扑、共享和切分等更细粒度约束。文章还讨论了跨 SIG 协作、共享/可消耗容量、拓扑感知、多节点调度以及 NP-hard 的优化难题,并给出了 DRA 未来在健康监控、可观测性和更复杂硬件建模上的演进方向。
推荐收录,因为它不是单纯的产品动态,而是把 Kubernetes 在硬件管理上的核心抽象、演进路径和设计权衡讲得很清楚,适合作为理解云原生调度与设备编排的长期参考。对于做平台工程、调度系统、AI 基础设施或 Kubernetes 扩展开发的读者,这篇文章能直接提供可迁移的 API 设计和跨团队协作方法。