首页/云/Kubernetes 速查/kubectl apply 声明式应用清单
kubectl 基础56 条

kubectl apply 声明式应用清单

把 YAML/JSON 清单提交给集群:不存在则创建、存在则按三方合并策略更新,是 GitOps 与日常发布的基础命令。

Kubernetes 速查云更新于 2026-10-12
用途创建或更新资源(声明式,可重复执行)
语法kubectl apply -f <文件|目录> [-n 命名空间]

常用示例

常用示例
kubectl apply -f deploy.yaml
kubectl apply -f ./manifests/ -n prod
kubectl apply -f https://example.com/app.yaml
kubectl apply -k ./overlays/prod

机制要点

机制要点
apply 记录 last-applied-configuration 注解,做「清单 / 注解 / 现网」三方合并
只处理清单里出现的字段,不会动你没写的字段;要接管删除需配合 --prune
apply 的三方合并会清理此前由 apply 设置、现已从清单移除的字段;但不会删除整个对象——删除对象要显式 kubectl delete,批量对齐用 --prune 清点带标签的遗留资源。

易错点

  • 字段冲突时 apply 会报 'field is immutable':多数不可变字段(如 Service clusterIP)需删除重建或改用支持变化的字段
  • 手改过现网对象后,旧注解与现网不一致会引发意外覆盖,排障前先看 kubectl apply view-last-applied

数据来源与参考

  • Kubernetes 官方文档 · kubectl apply(Declarative Management)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌