kubectl delete
删除集群中的资源
语法
kubectl delete <resource> <name> [flags]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-f --filename |
通过配置文件删除 | kubectl delete -f deployment.yaml |
常用 |
--grace-period |
设置优雅终止等待时间(秒) | kubectl delete pod nginx --grace-period=0 |
进阶 |
--force |
强制删除(跳过优雅终止) | kubectl delete pod stuck-pod --force --grace-period=0 |
危险 |
-l --selector |
按标签批量删除 | kubectl delete pods -l env=test |
常用 |
--all |
删除该类型的所有资源 | kubectl delete pods --all -n test |
危险 |
--cascade |
级联删除关联资源 | kubectl delete deployment web --cascade=foreground |
进阶 |
示例
删除单个 Pod
kubectl delete pod nginx-7d9b8c5f6-x2k4m
如果由 Deployment 管理会自动重建
通过文件删除
kubectl delete -f deployment.yaml
删除文件中定义的所有资源
强制删除卡住的 Pod
kubectl delete pod stuck-pod --force --grace-period=0
Pod 处于 Terminating 状态时使用
批量删除测试资源
kubectl delete all -l env=test -n testing
按标签清理测试环境
常见错误
pod is being terminated
Pod 正在优雅终止中,等待或使用 --force
cannot delete resource: forbidden
当前用户没有删除权限,检查 RBAC 配置
技巧
- 删除 Deployment 管理的 Pod 会自动重建,要删除 Deployment 本身
- 生产环境慎用 --all 和 --force
- 用 --dry-run=client 先确认要删除的资源