一、创建 Kubernetes 对象的两种方法
在 Kubernetes 中,可以通过两种主要方式创建对象:
- 声明式(Declarative)方法:编写 YAML 或 JSON 配置文件,再使用
kubectl apply提交至集群。 - 命令式(Imperative)方法:直接使用命令行指令创建资源,比如
kubectl create或kubectl run,无需配置文件。
1. 示例流程(声明式方式)
下面以创建 Pod 为例说明声明式方式的流程:
- 编写 YAML 文件(如
pod.yaml),包含关键字段:apiVersion(API 版本)、kind(资源类型)、metadata(名称、标签等)、spec(配置详情)。 - 使用命令提交:
kubectl apply -f pod.yaml。 - Kubernetes API Server 接收到后,校验文件格式与结构,合法后将该对象存入 etcd 等后端存储。:contentReference[oaicite:1]{index=1}
2. 命令式方式示例
命令式创建资源不依赖 YAML,直接由命令行生成对象。示例对比如下:
| 方法类型 | 配置方式 | 典型场景 | 类比案例 |
|---|---|---|---|
| 声明式 | YAML / JSON 文件 | 正式部署、CI/CD 流程 | Docker Compose 文件 |
| 命令式 | CLI 直接执行命令 | 临时测试、调试 | docker run |
示例命令:
- 创建 Pod(实验型):
kubectl run mypod --image=nginx