首页/云/Kubernetes 速查/kubectl create 命令式创建资源
kubectl 基础56 条

kubectl create 命令式创建资源

用命令行参数直接创建资源或快速生成清单草稿:--dry-run=client -o yaml 是生成 YAML 模板的常用手法。

Kubernetes 速查云更新于 2026-10-13

命令式创建是什么

命令式创建用命令行参数直接生成资源,不需要先写清单。它的语义是「只创建」:对象已存在就直接报错,不会去比对或更新。它最大的实用价值不是在生产里建对象,而是配合演练模式快速生成清单草稿,再由人工补齐生产字段后纳入版本管理。

和声明式提交的差别

声明式提交可重复执行,同一次提交跑多少遍结果一致;命令式创建是「一次性的动作」,重复执行就会失败并打断流程。因此它适合一次性操作与临时构造,凡是要进流水线、要反复执行的对象,都应该改用清单加声明式提交的方式。

基本信息

适用环境任何 Kubernetes 发行版
语义只创建,对象已存在时报错
常见子命令命名空间、配置对象、密钥对象、工作负载、服务账户等
演练模式客户端演练不连集群,可直接导出 YAML 作为草稿
与声明式的关系生成草稿后交给声明式提交维护
注意事项生成的清单缺少生产必需字段,需要人工补齐

典型使用场景

  • 生成清单草稿:演练模式导出 YAML 后修改成正式模板
  • 快速建命名空间:新环境初始化时创建隔离边界
  • 临时配置对象:验证阶段快速构造一组配置
  • 生成密钥对象:从文件或字面量快速创建凭据对象
  • 工作负载起步:先创建最小负载,再逐步补全字段
  • 脚本初始化:在环境准备脚本里创建尚未存在的对象

常用示例

常用示例
kubectl create namespace staging                                  # 建命名空间
kubectl create configmap app-config --from-literal=LOG_LEVEL=info  # 建配置对象
kubectl create secret generic db-pass --from-literal=password=<占位>  # 建凭据对象
kubectl create deployment web --image=registry.example.com/web:1.26.0 --replicas=3   # 建工作负载
kubectl create deployment web --image=registry.example.com/web:1.26.0 --dry-run=client -o yaml > web.yaml   # 导出草稿

两种方式对比

方式可重复执行适用场景
命令式创建否,已存在即失败一次性操作与临时构造
声明式提交是,结果一致常规发布与流水线
演练模式导出不连集群,仅生成文本生成清单草稿
资源编辑否,交互式修改临时验证单个字段
客户端演练模式不会连接集群,因此不会校验名称冲突与字段合法性,导出的草稿必须再提交校验。
命令行里直接写的口令会留在命令历史与进程列表里,创建凭据时优先从文件或标准输入读取。

易错点

  • 生成的清单直接上生产:缺少探针、资源请求与副本策略,发布不受控
  • 在流水线里用命令式创建:重复执行会因对象已存在而失败,流程中断
  • 把明文口令写在命令行:会残留在历史记录与进程信息里,造成凭据泄露
  • 以为演练模式会校验冲突:它不连集群,名称冲突与非法字段都不会被提前发现

数据来源与参考

  • Kubernetes 官方文档 · kubectl create
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌