考点精讲
- 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 命令是查字段的活字典
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资源定义