Kubernetes / Helm

Kubernetes YAML 校验:看清每个资源与它的关联

选择目标版本,检查多文档资源与字段诊断,再决定导出哪些清单。

Kubernetes YAML 校验

Manifest YAML 输入

资源与校验结果

结果已过期,暂时无法导出。

清单与自定义 schema 均在浏览器处理,不上传、不连接集群。

校验参数
自定义资源 schema

为指定的 apiVersion/kind 粘贴 draft-07 JSON Schema。支持内部引用,不拉取远程引用,不执行 Kubernetes CEL。

结果已过期,暂时无法导出。

静态检查不保证部署成功。存在校验错误时仍可导出格式化 YAML,请先查看诊断。

做发布前审查时,YAML 能解析不等于资源字段正确。Kubernetes YAML 校验把文档序号、资源类型、命名空间和字段路径放在一起,方便确认报错究竟来自哪一份清单,而不是在长文件里反复搜索。

这个 K8s YAML 校验器适合已经渲染完成的资源文件。版本选择对应固定的 1.35.0、1.36.0 和 1.37.0 schema 快照,不会根据本机 kubeconfig 猜测集群版本,也不会偷偷补上服务器默认字段。

为什么使用 Kubernetes YAML 校验工作台

把长清单还原为可逐项审阅的资源

Kubernetes YAML 校验会为每个非空文档保留原始编号。右侧可切换资源列表、诊断和格式化结果,点击诊断定位输入行列,选中资源则只提取该文档。检查依然以完整输入为范围,不会因为只看一个文档而漏掉其余资源的错误。

三张分隔的清单卡片对应右侧资源列表,其中一条字段诊断被突出显示。

把引用缺失与真正错误分开看

Service 选择器只与当前输入中同命名空间的 Pod 或工作负载模板比较。容器环境变量、卷及投射卷中的 ConfigMap、Secret 引用也会列出检查结果。没找到只给提示,因为对象可能已经存在于集群,而未出现在这次粘贴的文件里。

服务连向标签匹配的工作负载卡片,缺少的配置引用以提示标记结束。

先核对范围,再处理清单

01

版本切换后要重新校验

默认选中 1.37.0,运行方式为手动。修改输入、缩进、版本或自定义 schema 后,旧结果立即失效并禁用复制下载。点击校验或按 Ctrl/Cmd+Enter 执行,不会在输入过程中反复编译大型 schema。

02

自定义资源先确认完整类型

展开自定义面板,填写精确的 apiVersion 和 kind,再提供 draft-07 JSON Schema。只有类型完全相同的资源会使用它。内部引用可用,缺失的外部引用会报错,不会从网络自动补齐。

03

用预览确认写回影响

YAML 格式化与多文件合并先展示字符数、文档数及预览文本,应用后才替换输入。撤销会同时恢复输入和此前结果。导出范围可选全部或单个文档,适合把一个大文件按资源拆开保存。

语法、字段与资源关系一起查看

按快照检查结构

内置定义来自固定提交的 Kubernetes OpenAPI 衍生 schema 仓库。严格结构检查可指出额外字段、必需字段和类型错误,每个资源先显示一条 schema 失败,修复后重跑可能发现下一条,不会把一次报告当作所有错误的穷举。

区分名称规则和身份重复

常见资源检查 DNS 命名规则,RBAC 名称按路径片段规则处理,不会误伤 system:reader 这样的合法名称。重复身份由 API 组、类型、命名空间和名称决定,API 版本不同也不能把同一对象当作两个独立资源。 Job 名称最多 63 个字符,CronJob 名称最多 52 个字符。

检查当前文件里能确定的关系

关联检查覆盖 Pod,以及 Deployment、StatefulSet、DaemonSet、ReplicaSet、Job、CronJob 等模板。检查引用对象是否出现,不进一步判断配置键是否存在,也不验证网络连通性、镜像内容或运行状态。

保留解释性注释

格式化沿文档语法树调整缩进,保留注释、锚点和数值源码。多文档合并沿用同一解析器,选中文档可独立下载。工具不排序资源,不删除未知字段,也不把布尔值或数字偷偷转换成字符串。

把静态结论放在正确的边界内

不代替集群准入
检查不执行 CEL、webhook、RBAC、调度、镜像拉取或特性门控,也不填充服务器默认值。Service 名称按默认的字母开头规则检查;开启宽松命名特性的集群应以服务器行为为准。
未知类型需要用户提供 schema
无法匹配 apiVersion/kind 时会显示待复核,而非通过。本页不自动提取 CRD 定义,也不渲染 Helm 或 Kustomize。自定义面板接受一个明确目标的 draft-07 schema,远程依赖不会自动下载。
资源分隔符与 List 是两种结构
多资源请使用 --- 分隔文档。kind 为 List 或其他以 List 结尾的包装类型会得到明确诊断,不展开 items,也不宣称逐项验证。空文档不进入资源列表,其余资源仍沿用原始文档编号。
输入与执行有明确上限
清单最多 500,000 字符、100 个文档、100 层嵌套、50,000 个解析节点和 1,000 条诊断,线程最多执行 8 秒。重复键、未知标签、过量别名展开和不安全整数会明确失败,避免静默覆盖或精度变化。
保存结果仍需阅读诊断
结构错误不妨碍保存格式化后的工作草稿,因此有错误时仍能导出。语法失败或旧结果过期时则禁用导出。格式化可能改变空白和流式排版,请先核对预览;导出动作本身不修改原始输入。

Kubernetes YAML 校验常见问题

支持 K8s YAML 吗?

支持已渲染的 Kubernetes 清单。Kubernetes YAML 校验不仅看缩进和语法,还按所选版本匹配资源 schema,检查结构与字段类型。它不能证明集群会接受该对象;准入策略及环境条件仍需在目标集群核对。

校验器会更改我的 YAML 内容吗?

校验不会改写输入,格式化结果单独展示。只有在格式化、合并、示例或清空预览中点击应用,输入才会改变;之后可撤销一次并恢复原来的结果。不会自动修复字段语义或删除有问题的资源。

能校验多文档 YAML 文件吗?

可以,用 --- 分隔,每次最多 100 个文档。非空文档逐个出现在资源列表中,也可单独导出。List 包装不等同于多文档流,本工具不会展开其中的资源。

我的 YAML 数据会发送到服务器吗?

清单和自定义 schema 在浏览器线程内处理,不上传,也不连接集群。页面会加载本站打包的程序与版本定义,但不会根据输入中的 URL 发起请求。内容也不会写入分享链接或持久化存储。

编辑时出错怎么办?

语法错误保留行列位置,结构错误保留文档编号和字段路径。先修正当前问题再手动重跑;每个资源先报告一条 schema 错误,因此修复后可能出现下一条。编辑时旧结果会变淡,复制和下载暂时禁用。

遇到处理不正确的配置?

检查下一份资源清单

在提交前保留 Kubernetes YAML 校验的版本与诊断上下文。改完字段后重新运行,再导出准备交给后续流程的文档。