当前位置:首页 > 文章列表 > 科技周边 > 业界新闻 > Kubernetes v1.37 manifest-based admission control:API Server 离线时如何保住策略
Kubernetes v1.37 manifest-based admission control:API Server 离线时如何保住策略
控制面刚重启时,最怕的不是 API Server 进程起来得慢,而是准入策略还没有回来:etcd 正在恢复,新的工作负载却已经开始写入。Kubernetes v1.37 把基于 manifest 的 admission control 配置提升到 Beta,允许 API Server 从磁盘目录加载 Webhook 与 CEL 策略,让策略在启动阶段就进入请求链路。
它解决的是准入策略的可用性和保护边界,不是把所有策略都变成“永远在线”:管理员仍要正确配置 AdmissionConfiguration、准备静态目录,并验证策略加载失败时的启动行为。
- Kubernetes v1.37 的 staticManifestsDir 让部分准入策略从磁盘 manifest 加载。
- API Server 启动后策略即可工作,etcd 短暂不可用时仍能执行已加载的策略。
- 静态策略目录适合保护准入资源本身,但不等于绕过 Webhook 的网络、证书和超时风险。
- 验收要同时看启动日志、策略对象加载结果、允许请求和拒绝请求的状态。
Kubernetes v1.37 这项变化,先看它保护了什么
Kubernetes 官方 v1.37 发布说明把 manifest-based admission control 配置列为 Beta。关键变化不是新增一种策略语言,而是改变策略的装载位置:AdmissionConfiguration 可以通过 staticManifestsDir 指向磁盘目录,API Server 在启动时读取其中的准入配置。
这条路径适合放置需要在控制面早期生效、又不希望完全依赖 API 存储的策略。例如,管理员可以用它保护准入相关资源,避免策略对象本身被普通 API 写操作改掉。这里要分清两个概念:磁盘 manifest 提高的是策略装载的独立性,策略内部调用的外部 Webhook 仍然需要自己的网络与证书可用性。
从 staticManifestsDir 到请求拒绝,链路只有三段
把流程缩短后,性能和可用性都更容易验收:API Server 启动读取 staticManifestsDir,解析 AdmissionConfiguration,再把已加载的 Webhook 或 CEL 规则接到请求处理路径。请求命中规则时,策略返回允许或拒绝,etcd 负责对象持久化,但不再是“策略是否存在”的唯一前提。

一个实用的基线是记录 API Server 重启后的三个时间点:进程就绪、策略加载完成、第一条受策略约束的请求被判定。不要只看 /readyz 返回成功,因为进程就绪不一定意味着你关心的每个策略都加载成功。
| 观察点 | 应该看到什么 | 异常时先查什么 |
|---|---|---|
| 启动日志 | 读取目录并完成策略解析 | 目录权限、文件格式、配置路径 |
| 允许请求 | 符合规则的对象正常进入后续流程 | 规则匹配范围、Webhook 连接 |
| 拒绝请求 | 返回明确的准入拒绝状态 | 策略响应、失败策略与超时设置 |
etcd 不可用时,策略为什么还能挡住请求
发布说明给出的边界很明确:从 manifest 文件加载的策略在 API Server 启动时执行,并且在 etcd 不可用时仍然工作。这让控制面在存储恢复窗口里保留一层写入保护,尤其适合阻止明显不合规的对象继续进入请求处理链。
但“策略还能执行”不代表“请求一定成功”。如果准入链里包含需要访问外部服务的 Webhook,网络、TLS、超时和 failurePolicy 仍然决定请求最终结果;静态目录只是让策略配置本身不依赖 API 存储,不能替外部依赖提供可用性。

压测时可以用两组数字做对照:etcd 正常时的准入延迟分位数,以及模拟 etcd 不可用后的策略判定结果。这里不要拿一次 kubectl apply 成功就下结论,应至少覆盖一条允许样本和一条必拒样本,并记录 API Server 日志中的拒绝原因。
采用前要接受的三个现实约束
静态目录不是热更新配置中心
目录文件变化如何被重新读取,要以 v1.37 具体实现和运维流程为准,不应把它当作每次保存就立即生效的动态配置。更稳妥的做法是把目录变更纳入 API Server 重启或受控滚动流程,并在变更后重新做允许、拒绝和回滚验证。
保护准入资源不等于保护所有业务对象
基于 manifest 的策略能在控制面早期提供保护,但规则的匹配范围、资源版本和 failurePolicy 仍要由管理员设计。若策略只覆盖某个 API group,其他资源不会因为“用了 staticManifestsDir”自动受保护。
故障演练要分离存储故障与策略故障
建议分别演练 etcd 不可用、策略文件损坏、Webhook 超时和 API Server 重启。每种故障都记录请求返回码、审计事件和恢复动作,避免把所有拒绝都归因于 etcd。
常见问题
升级 Kubernetes v1.37 就会自动启用磁盘准入策略吗?
不会。需要管理员配置 AdmissionConfiguration、指定 staticManifestsDir,并准备符合要求的策略 manifest;升级本身只提供 Beta 能力。
etcd 暂时不可用时,所有准入 Webhook 都还能工作吗?
不能这样推断。磁盘加载的策略配置仍可执行,但外部 Webhook 的网络、证书和超时依赖仍然存在,最终结果要按具体链路验收。
如何判断策略真的参与了请求?
同时提交一条符合规则的对象和一条明确违规的对象,核对返回状态、API Server 日志与审计记录;只看进程 Ready 不足以证明准入链生效。
把 Beta 能力放进发布检查表
第一次采用时,先在非生产控制面准备静态目录,验证权限、文件格式和启动日志;再完成正常存储、etcd 故障、策略拒绝、Webhook 超时四类场景。只有当策略加载状态和请求结果都能被复查,才适合把这项 v1.37 能力纳入正式升级窗口。
npm 官网如何核对一个包的当前版本:从搜索结果到版本详情页
- 上一篇
- npm 官网如何核对一个包的当前版本:从搜索结果到版本详情页
- 下一篇
- Go 1.27 go tool trace 默认只监听本机:远程排障如何安全暴露与回收
-
- 科技周边 · 业界新闻 | 48分钟前 | 前端 · css · chrome · 无障碍 · Chrome 147 contrast-color 无障碍配色 CSS兼容
- Chrome 147 的 contrast-color() 已可用吗:前端无障碍配色上线前要核对哪些兼容边界
- 438浏览 收藏
-
- 科技周边 · 业界新闻 | 49分钟前 | 前端 · chrome · 浏览器安全 · 网络边界 · Chrome 152 Connection Allowlists Connection-Allowlist 网页网络安全
- Chrome 152 的 Connection Allowlists 怎么限制网页外连:从响应头到失败验证
- 469浏览 收藏
-
- 科技周边 · 业界新闻 | 3小时前 | rust · 编程语言 · 开发工具 · 版本升级 · 工具链 algebraic_add format_into Rust 1.98.0 Rust升级
- Rust 1.98.0 发布后怎么判断是否值得升级:版本亮点、工具链影响与回归范围
- 498浏览 收藏
-
- 科技周边 · 业界新闻 | 4小时前 | go · 代码迁移 · 语言特性 · Go 1.27 · 嵌入字段 代码迁移 Go 1.27 struct literal field selector
- Go 1.27 嵌入字段可直接写进 struct literal:代码迁移的收益与边界
- 281浏览 收藏
-
- 科技周边 · 业界新闻 | 4小时前 | 云原生 · 安全 · kubernetes · 版本更新 · mTLS · mTLS Kubernetes 1.37 Pod Certificates ClusterTrustBundle X.509
- Kubernetes 1.37 Pod Certificates 怎么落地:签发接口、轮换信号与节点侧验收
- 345浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 | API · 开发者工具 · Cloudflare · 云成本 · Cloudflare Billable Usage API 开发者成本 预算预警
- Cloudflare Billable Usage API 怎么看开发者成本:程序化用量核对与预算预警
- 428浏览 收藏
-
- 科技周边 · 业界新闻 | 5小时前 |
- Google Cloud Next 2026之后企业为什么先拆Agent控制面:平台、数据、权限与成本四个落点
- 436浏览 收藏
-
- 科技周边 · 业界新闻 | 9小时前 | 云原生 · 监控 · kubernetes · 版本发布 · 自动扩缩容 · 资源监控 Kubernetes 1.37 Metrics API kubectl top HorizontalPodAutoscaler
- Kubernetes 1.37 Metrics API 晋级稳定:kubectl top 与自动扩缩容如何评估
- 280浏览 收藏
-
- 科技周边 · 业界新闻 | 11小时前 |
- WebMCP 试用前要看什么:浏览器代理调用网站工具的权限边界与回退方案
- 354浏览 收藏
-
- 科技周边 · 业界新闻 | 12小时前 | css · chrome · 前端开发 · 业界新闻 · Web平台 · Web API 文本高亮 Chrome 152 CSS Custom Highlight getClientRects
- Chrome 152 新增文本高亮边界查询:getClientRects 与 CSS Custom Highlight 的配合
- 390浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 5444次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 4927次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 4846次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 5110次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 5065次使用
-
- Go chassis云原生微服务开发框架应用编程实战
- 2022-12-29 214浏览
-
- Go语言线程安全之互斥锁与读写锁
- 2022-12-27 346浏览
-
- 快速解决Golang Map 并发读写安全的问题
- 2022-12-29 443浏览
-
- 浅谈golang并发操作变量安全的问题
- 2023-01-07 251浏览
-
- Go 1.25 容器感知 GOMAXPROCS:K8s 里别再让 CPU limit 偷偷拖垮 P99
- 2026-06-01 473浏览

