首页/云/云与容器速查/kubectl explain 字段文档
Kubernetes68 条

kubectl explain 字段文档

内置的字段说明:查某类资源某个层级支持哪些字段、类型与含义,还能 --recursive 展开。写 YAML 时不用盲目搜索,准确且对应集群版本。

云与容器速查云更新于 2026-10-13

kubectl explain 是什么

explain 是内置在 kubectl 里的字段手册:它从集群自身的 API 描述信息中读取某类资源在某个层级支持哪些字段、类型是什么、含义如何,因此解释内容与当前集群版本严格对齐,比翻过期博客可靠。写 YAML 时用它逐级确认字段名与嵌套结构,能避免大量“字段名写错却以为是集群问题”的往返。加 --recursive 可以一次性展开全部子字段,代价是输出非常长。

基本信息

语法kubectl explain <资源>.<字段路径>,用点号逐级深入
适用平台所有受支持的 kubectl 版本;内容来自当前集群的 API 描述
递归展开--recursive 展开全部子字段,输出很长,建议配合 head 或 grep
指定版本--api-version 可指定 API 组版本,用于同名资源多版本并存的情况
自定义资源CRD 是否可 explain 取决于它是否提供结构描述
输出结构每段包含 KIND、VERSION、FIELD、DESCRIPTION 与 TYPE

典型使用场景

  • 写 YAML 时确认字段名与层级,尤其是探针、策略、亲和性这类嵌套字段
  • 判断某字段是字符串、数组还是对象,避免括号与缩进写错
  • 核对自定义资源的可用字段,先看它有没有提供结构描述
  • 排查“字段被忽略”的问题:确认该版本是否真的支持这个字段
  • 学习某类资源的全貌,用递归展开配合 grep 快速定位

使用示例

使用示例
kubectl explain deployment.spec.strategy   # 查滚动更新策略字段
kubectl explain pod.spec.containers.livenessProbe   # 查探针支持的字段
kubectl explain deploy.spec.template.spec --recursive | head -60   # 递归展开,注意刷屏
kubectl explain ingress --api-version=networking.k8s.io/v1   # 指定 API 组版本
kubectl explain cronjob.spec.jobTemplate.spec --recursive | grep -A3 -i concurrency   # 定位并发策略字段
kubectl explain networkpolicy.spec.ingress   # 查网络策略的入向规则结构

输出段读法

字段含义怎么用
KIND资源类型确认查的是不是同一类对象
VERSIONAPI 版本与 YAML 里的 apiVersion 对齐
FIELD字段名点号路径逐级拼接使用
DESCRIPTION字段含义说明看语义与默认行为描述
TYPE数据类型判断是 string、array 还是 object
explain 的内容来自集群自身的 API 描述,比外部文档更贴近当前版本:字段查不到,基本可以断定该版本确实没有这个字段。
递归输出适合配合 grep 使用,例如先展开再搜关键字,比从头读几十屏快得多。

易错点

  • explain 报不认识的字段:集群版本里确实没有,硬写只会被静默忽略或直接报错
  • 递归输出直接刷屏:不接 head 或 grep 会淹没关键信息
  • 自定义资源没有结构描述:explain 给不出细节,需要查 CRD 定义或官方文档
  • 把 explain 当唯一依据:它说明字段含义,但不校验取值之间的组合语义
  • 用错 API 版本查字段:同名资源多版本并存时,看到的是另一套结构

数据来源与参考

  • Kubernetes Docs:kubectl explain

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌