首页/云/云与容器速查/kubectl delete 删除资源
Kubernetes68 条

kubectl delete 删除资源

删除资源支持按文件、按名称、按标签三种方式;默认级联删除下属资源(如 Deployment 删 ReplicaSet/Pod),--grace-period/--force 是应急手段而非日常选项。

云与容器速查云更新于 2026-10-13

kubectl delete 是什么

kubectl delete 删除集群资源,支持按文件、按名称、按标签三种方式。默认开启级联删除:删 Deployment 会连带删掉它管理的 ReplicaSet 与 Pod。按标签删除最方便也最危险——选择器写得宽一点就可能波及不该动的实例。删除前先执行一次同条件的 get,是最省事的自保习惯。

基本信息

按文件kubectl delete -f deploy.yaml,删除文件中定义的资源
按名称kubectl delete pod web-1 或 kubectl delete deploy web
按标签kubectl delete pods -l app=web,选择器决定影响范围
级联策略默认后台级联;--cascade=orphan 保留下属资源
强制删除--grace-period=0 --force 仅用于卡在 Terminating 的场景

典型使用场景

  • 重新调度:删掉异常 Pod 让控制器重建一个新实例
  • 下线服务:按文件删除整套 Deployment 与配套 Service
  • 批量清理:按标签一次性删除某个环境的临时任务 Pod
  • 环境回收:删除整个命名空间回收其中的全部资源
  • 解卡死资源:对象卡在 Terminating 状态时用强制删除解除

使用示例

使用示例
kubectl get pods -l app=web          # 删除前先看清清单,确认范围
kubectl delete pods -l app=web       # 按标签删除
kubectl delete -f deploy-web.yaml    # 按文件删除,与文件严格对应
kubectl delete deploy web --cascade=orphan   # 保留下属 Pod 不级联删除
kubectl delete pod stuck-pod --grace-period=0 --force   # 应急解卡死

删除方式对照

方式影响范围风险点
按文件严格对应文件内容文件与实际集群状态可能已不一致
按名称单个资源名字写错可能命中同类资源
按标签符合选择器的全部资源选择器过宽导致误删
删命名空间其中所有资源不可恢复,数据取决于卷回收策略
强制删除单个卡死资源对象被摘除但容器可能仍在运行
删除命名空间会删除其中的所有资源且不可恢复。执行前确认命名空间内没有独有数据,并检查持久卷声明的回收策略是保留还是删除。
删除 Pod 与删除 Deployment 的结果完全不同:Pod 被删后控制器会立刻重建一个新实例,而删除 Deployment 才会真正下线服务。想重启服务不要直接删 Pod。

易错点

  • 选择器写得太宽,-l app=web 命中了不该动的实例
  • 对卡住资源暴力强制删除,对象被摘除但容器还在跑,形成孤儿进程
  • 误以为删 Pod 就是下线服务,实际控制器立刻重建,服务照常提供
  • 删除命名空间前没确认持久卷回收策略,数据被一并删除

数据来源与参考

  • Kubernetes Docs:kubectl delete
  • Kubernetes Docs:Garbage Collection

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌