当前位置:首页 > 文章列表 > 科技周边 > 业界新闻 > Kubernetes 1.37 升级前需要关注哪些默认行为变化

Kubernetes 1.37 升级前需要关注哪些默认行为变化

来源:17golang原创 2026-09-06 11:25:08 0浏览 收藏

Kubernetes 1.37 已发布,真正值得升级前排查的不是“新增了多少功能”,而是哪些能力改变了默认路径。官方发布说明显示,这一版包含 67 项增强,其中 HPA 缩容到零、并发 watch 对象解码、etcd RangeStream、StorageVersionMigration 等能力会影响默认运行方式;而 Pod 级资源管理、DRA Workload ResourceClaims 仍需要显式开启。

升级前可以先记住一个判断:默认开启不等于所有业务都立刻改变,默认关闭也不等于不能测试。应把控制面、工作负载、存储和回退条件拆开验证。

要点速览
  • 控制面读取大对象时会更多使用流式 Range 和并发解码,但旧版 etcd 会自动回退。
  • HPA 可以在对象或外部指标场景下使用 minReplicas: 0,MemoryQoS 默认门已打开但默认参数刻意保持保守。
  • SELinux 卷行为只在 CSI 驱动选择加入时产生实际影响,StatefulSet 的 maxUnavailable 默认行为在 1.37 恢复。

先确认版本与升级范围

不要只看客户端的 kubectl version。先记录控制面、每个节点 kubelet,以及 etcd 的实际版本,并把使用 CRD 转换 webhook、CSI、HPA、StatefulSet 的业务列出来。

# 查看客户端与服务端版本,确认升级目标是否已经生效
kubectl version
# 查看节点版本,排查控制面与节点混合版本窗口
kubectl get nodes -o custom-columns=NAME:.metadata.name,KUBELET:.status.nodeInfo.kubeletVersion
# 查看 API Server 暴露的服务端版本
kubectl get --raw /version

这一轮的目标不是立刻修改 feature gate,而是建立升级前基线:API Server 启动耗时、etcd 内存峰值、webhook 并发、HPA 副本数和挂载失败数都应有旧版本数据可比。

检查控制面启动与存储读取变化

1.37 默认启用 ConcurrentWatchObjectDecode,watch 事件的解码和转换会进入有界并发池,官方说明默认工作池为 10 个协程,并由收集器按原顺序交付。对带 CRD 转换 webhook 的集群,调用总量不变,但冷缓存初始化时的同时请求数会上升。

同一版本的 EtcdRangeStream 默认开启,API Server 可以分块读取大列表,减少一次性响应在 etcd 和 API Server 中同时驻留的内存。它需要 etcd 3.7+;遇到旧 etcd 的 Unimplemented 响应会自动退回原来的 unary Range,因此升级后仍要观察延迟和内存,而不能假设一定获得流式收益。

Kubernetes 1.37 控制面 watch cache、并发解码、etcd RangeStream 与旧版回退关系图
图1:控制面读取路径中,并发解码与 RangeStream 的默认关系,以及旧版 etcd 的回退边界。

StorageVersionMigration API 在 1.37 升级到稳定版并默认启用。它提供了声明式迁移入口,但不会因为升级完成就自动改写所有历史对象;需要由集群管理员或 CRD 维护者创建迁移对象,并为迁移过程安排监控和窗口。

复查工作负载和存储默认值

工作负载侧至少检查以下五项:

变化默认状态升级前要问的问题
HPA scale to zeroBeta,默认开启对象指标或外部指标是否允许空载为 0,恢复延迟能否接受?
MemoryQoSBeta,feature gate 默认开启kubelet 的内存保护和 throttling 参数是否沿用保守默认值?
PVC last-usedBeta,默认开启清理脚本是否会误把 Unused 条件当成可直接删除?
SELinux 卷挂载稳定,相关开关默认开启CSI 驱动是否设置 seLinuxMount: true,共享卷的标签是否一致?
StatefulSet maxUnavailable1.37 恢复默认有序更新时能否承受并行不可用副本?

HPA 的 0 副本不是普通 CPU 利用率场景的无条件缩容开关,发布说明限定在对象或外部指标工作负载,并要求设置 spec.minReplicas: 0。MemoryQoS 虽然默认门打开,但官方说明默认值是为了避免旧工作负载突然遭遇意外内存节流。SELinux 变化只对启用 SELinux 且 CSI 驱动加入该能力的卷产生影响;同一节点上不同 SELinux 标签的 Pod 共享一个卷时,旧的递归重标记假设可能不再成立。

Kubernetes 1.37 HPA、MemoryQoS、PVC、SELinux 和 StatefulSet 默认行为影响关系图
图2:把 1.37 的工作负载默认行为放到副本、内存、卷和更新四个检查面中逐项确认。

区分默认开启与默认关闭的 Beta 能力

升级清单中最容易混淆的是“Beta”与“默认启用”。Pod-level Resource Managers 在 1.37 进入 Beta,但 PodLevelResourceManagers 仍默认关闭;DRA Workload ResourceClaims 也进入 Beta,却由 DRAWorkloadResourceClaims 控制且默认关闭。没有明确的业务需求、节点版本和回滚方案时,不要顺手开启。

相反,HPA scale to zero、MemoryQoS、并发 watch 解码和 RangeStream 属于需要主动观察的默认路径。对它们应做灰度和指标对比,而不是仅检查 feature gate 输出。

用灰度指标完成升级验收

先升级一个非关键控制面或测试集群,再挑选带 CRD 转换 webhook、外部指标 HPA、CSI 卷和 StatefulSet 的代表性命名空间。重点看 API Server 是否出现持续的 429、webhook 是否达到并发上限、etcd 内存峰值是否下降、HPA 是否能从 0 恢复、PVC 条件是否被误用,以及 StatefulSet 更新是否超过业务容忍度。

如果问题只在 SELinux 卷出现,优先按卷和 CSI 驱动边界处理;需要保留旧的递归标记语义时,再评估 Pod 的 seLinuxChangePolicy: Recursive。如果 RangeStream 未生效,先确认 etcd 版本,不要把自动回退误判成 API Server 故障。

官方变更可从 Kubernetes v1.37 发布说明和 DRA 更新说明继续核对;生产升级应把实际启用的 gate、组件版本和回退动作一起归档。

常见问题

Kubernetes 1.37 是否会自动把 HPA 缩到 0?

不会。只有使用对象或外部指标、并显式设置 minReplicas: 0 的 HPA 才进入这条能力路径。

etcd 不是 3.7,升级 1.37 会失败吗?

官方发布说明给出的行为是探测到不支持的 RPC 后回退到 unary Range;仍应通过监控确认旧路径的内存和延迟是否可接受。

SELinuxMount 默认开启后所有卷都会变吗?

不会。只有启用 SELinux 且 CSI 驱动在 CSIDriver 中选择 seLinuxMount: true 时才会进入新挂载语义。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Go HTML 模板怎么复用页头页脚和基础布局Go HTML 模板怎么复用页头页脚和基础布局
上一篇
Go HTML 模板怎么复用页头页脚和基础布局
漫狐漫画为什么显示维护中?小米应用商店状态与安装前核对说明
下一篇
漫狐漫画为什么显示维护中?小米应用商店状态与安装前核对说明
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    589次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    626次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    661次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    630次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    445次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码