在查看文档时,有一个API调用可以删除单个pod,但是否有一种方法可以删除所有名称空间中的所有pod ?


当前回答

如果你想删除所有命名空间中的pod,只是为了让它们重新启动,并且你知道其中一些将被重新创建,我喜欢下面的for循环:

for i in $(kubectl get pods -A | awk '{print $1}' | uniq | grep -V NAMESPACE); do kubectl delete --all pods -n $i; done

其他回答

仅删除所有命名空间中的所有pod(重新启动部署)

 kubectl get pod -A -o yaml | kubectl delete -f -

一行命令删除所有命名空间中的所有pod。

kubectl get ns -o=custom-columns=Namespace:.metadata.name --no-headers | xargs -n1 kubectl delete pods --all -n
kubectl delete po,ing,svc,pv,pvc,sc,ep,rc,deploy,replicaset,daemonset --all -A

如果你有hpa,那么缩小。

上面已经暗示过,但我只是想指出“——all-namespaces”的快捷方式是“-A”,大写的a . HTH someone。我已经打开了一个PR,将这个有用的提示添加到官方Kubernetes小抄表中。