考点精讲
- Kubernetes 是声明式系统,用户通过「管理对象」描述集群的期望状态,控制器负责把实际状态调整到期望状态。常见对象包括:Pod(运行单元)、Service(服务发现)、Deployment/ReplicaSet(无状态应用副本管理)、DaemonSet/StatefulSet/Job/CronJob(各种工作负载)、ConfigMap/Secret(配置与密钥)、PV/PVC(存储)。每个对象的 YAML 清单都包含四个核心字段:apiVersion 声明资源所在 API 版本、kind 声明资源类型、metadata 描述名称/标签等元数据、spec 声明期望状态。声明式意味着你只需说「我要 3 个副本」,不必写「怎么一步步创建」。
记忆技巧
YAML 四件套:apiVersion、kind、metadata、spec
声明式 = 说结果,不说步骤
声明式 = 说结果,不说步骤
常见误区
- 漏写 apiVersion 或 kind 导致对象创建失败
- 把命令式思维(一步步操作)套用到声明式模型上
- metadata 与 spec 字段位置写错
真题思路
- 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 编写 Kubernetes 对象清单时,声明资源类型的字段是?
apiVersion kind metadata spec
答案:B
解析:kind 声明资源类型(如 Pod、Deployment);apiVersion 声明 API 版本,metadata 是元数据,spec 是期望状态。
常见问题
Q:YAML 清单的四个核心字段是什么
A:apiVersion、kind、metadata、spec。
Q:声明式和命令式有什么区别
A:声明式描述期望状态(我要什么),命令式写操作步骤(先做什么再做什么);K8s 以声明式为主。
Q:对象创建后存在哪里
A:由 API Server 持久化到 etcd 中。
相关知识
教材出处:第3章 Kubernetes架构介绍 Kubernetes管理对象