Kubernetes YAML 格式化器和验证器
指导
Kubernetes YAML 格式化器和验证器
立即在浏览器中格式化和验证您的 Kubernetes manifest YAML 文件。粘贴任何 K8s manifest — Deployments, Services, ConfigMaps, Ingress, CronJobs 等 — 并获得一致的 2 空格缩进、可选的键排序以及针对 19 种 Kubernetes 资源类型的模式验证。通过清晰的带行号的注释捕获缺失的必需字段、已弃用的 apiVersions、选择器/标签不匹配以及结构错误。
如何使用
将您的 Kubernetes YAML manifest 粘贴到输入区域或加载内置示例之一。该工具会自动检测资源种类并根据相应的模式进行验证。支持由
分隔的多文档 manifest — 每个文档都会独立验证。切换键排序、在仅格式化或完全验证之间进行选择,并将干净的输出复制到剪贴板。 --- 19 种资源类型
特征
- – 验证 Deployment, Service, ConfigMap, Secret, Ingress, Pod, StatefulSet, DaemonSet, Job, CronJob, HPA, PVC, PV, Namespace, ServiceAccount, Role, RoleBinding, ClusterRole 和 ClusterRoleBinding – 检查每种资源类型的必需字段、有效的 apiVersions、正确的 spec 结构和类型约束
- Schema Validation 已弃用 API 检测
- – 标记已弃用的 apiVersions,如 并建议正确的替换项
extensions/v1beta1选择器/标签匹配 - – 验证 Deployment 和 StatefulSet 选择器是否匹配其 pod 模板标签 多文档支持
- – 处理包含多个
分隔文档的 YAML 文件,独立验证每个文档 – 应用干净的 2 空格缩进,并提供可选的字母顺序键排序
---带行号的错误 - Consistent Formatting – 验证错误和警告包含行号,以便快速识别
- 示例 Manifests – 加载示例 Deployment, Service 或多文档 manifests,以查看该工具的实际效果
- 最常见的 Kubernetes YAML 错误有哪些? 最常见的错误包括使用已弃用的 apiVersions(例如,用于 Deployments 的 extensions/v1beta1 而不是 apps/v1)、忘记必需字段如 metadata.name 或 spec.containers、Deployment spec.selector.matchLabels 和其 pod 模板 metadata.labels 之间的标签选择器不匹配、缩进不正确导致字段在错误级别解析,以及使用错误的字段类型,例如端口或副本数量需要整数时使用了字符串。
常问问题
-
apiVersion apps/v1 和 extensions/v1beta1 之间有什么区别?
extensions/v1beta1 apiVersion 是早期 Kubernetes 版本中 Deployments、DaemonSets 和 ReplicaSets 的原始 API 组。它在 Kubernetes 1.16 中被弃用,并在 1.22 中被移除,取而代之的是 apps/v1,这是稳定的 API 组。类似地,networking.k8s.io/v1 取代了 extensions/v1beta1 用于 Ingress 资源。请始终在生产 manifests 中使用稳定的 API 版本。
-
Kubernetes 中的多文档 YAML 文件如何工作?
Kubernetes 支持在单个 YAML 文件中定义多个资源,方法是用仅包含三个破折号(---)的行进行分隔。当您使用 kubectl apply -f 应用多文档文件时,Kubernetes 会独立创建或更新每个资源。这通常用于将相关的资源(如 Deployment 和其 Service)打包到一个文件中,以便于管理。
-
为什么 Deployment 选择器需要匹配 pod 模板标签?
Deployment 使用其 spec.selector.matchLabels 来识别它管理的 Pod。spec.template.metadata.labels 下的 Pod 模板必须包含选择器中指定的所有标签。如果不匹配,Deployment 控制器将无法找到其 Pod,Kubernetes 将以验证错误拒绝该 manifest。这种选择器机制是 Kubernetes 将更高级别的控制器连接到其管理的 Pod 的方式。
-
在此处粘贴您的 Kubernetes YAML manifest(支持使用 --- 分隔符的多文档)
下载为 .yaml
