AI 助教问 AI 助教
东方瑞通 · CKA

Kubernetes API与YAML资源定义

K8s 以 RESTful API 为核心,YAML 是 API 资源的声明式描述,通过 apiVersion/kind/metadata/spec 定义对象,经 API Server 处理。

考点精讲

  1. Kubernetes 的核心是一套 RESTful API,集群内所有组件和外部用户都必须通过 kube-apiserver 这一唯一入口与集群交互。YAML 文件则是这套 API 资源的声明式描述方式:apiVersion 指定资源所在的 API 版本(如 apps/v1、v1),kind 指定资源类型(如 Pod、Deployment),metadata 承载名称、命名空间、标签等元数据,spec 声明期望状态。资源按 apiVersion/group 组织,不同资源版本差异很大,写清单时最容易出错的就是 apiVersion 版本写错。遇到字段不确定时,可用 kubectl explain <资源> 查看字段说明;应用清单用 kubectl apply -f。

记忆技巧

所有操作都走 API Server 一扇门
explain 命令是查字段的活字典

常见误区

  • apiVersion 写错版本导致资源不识别
  • 缩进错误(YAML 用空格不用 Tab)导致解析失败
  • spec 与 status 混淆(spec 是期望,status 是实际)

真题思路

  • 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 在 Deployment 清单中,apps/v1 这一字段对应的是?
    kind apiVersion metadata spec
    答案:B
    解析:apps/v1 是 API 版本,对应 apiVersion 字段;kind 是资源类型(如 Deployment),metadata 是元数据,spec 是期望状态。

常见问题

Q:apiVersion 写错会怎样

A:资源无法被识别,创建时报错,需改成对应资源支持的版本。

Q:spec 和 status 有什么区别

A:spec 是用户声明的期望状态,status 是系统记录的实际状态。

Q:不确定字段怎么写怎么办

A:用 kubectl explain <资源类型> 查看字段说明。

相关知识

教材出处:第5章 Kubernetes API及集群访问 Kubernetes API与YAML资源定义

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑