一、命令作用
通过配置文件名、stdin、资源名称或label选择器来删除资源。
支持JSON和YAML格式文件。可以只指定一种类型的参数:文件名、资源名称或label选择器。
有些资源,如pod,支持优雅的(graceful)删除,因为这些资源一般是集群中的实体,所以删除不可能会立即生效,这些资源在强制终止之前默认定义了一个周期(宽限期),但是你可以使用--grace-period flag来覆盖该值,或者通过pass --now设置该周期为1。
如果托管Pod的Node节点已经停止或者无法连接API Server,使用delete命令删除Pod需等待时间更长。要强制删除资源,需指定- force flag,且设置周期(宽限期)为0。
如果执行强制删除Pod,则调度程序会在节点释放这些Pod之前将新的Pod放在这些节点上,并使之前Pod立即被逐出。
注意:执行delete命令时不会检查资源版本,如果在执行delete操作时有人进行了更新操作,那么更新操作将连同资源一起被删除。
二、命令语法
delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)])
三、使用示例
对于以下示例中,安装了k8s的情形下,若出现如下报错:
error: the server doesn't have a resource type "xxxx"
则需要在 kuebctl 命令前面加上 sudo 命令。
使用 pod.json中指定的资源类型和名称删除pod:
kubectl delete -f ./pod.json
根据传入stdin的JSON所指定的类型和名称删除pod:
cat pod.json | kubectl delete -f -
强制删除dead node上的pod:
kubectl delete pod foo --grace-period=0 --force
删除所有pod:
kubectl delete pods --all
四、更多可以使用 --help