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


当前回答

kubectl delete daemonsets,replicasets,services,deployments,pods,rc,ingress --all --all-namespaces

也摆脱了烦人的复制控制器。

其他回答

如果您已经有了重新创建的pod,请考虑先删除所有部署

kubectl delete -n *NAMESPACE deployment *DEPLOYMENT

只需将NAMSPACE和DEPLOYMENT替换为相应的NAMSPACE和DEPLOYMENT,就可以通过以下命令获得所有部署信息

kubectl get deployments --all-namespaces

下面是一个单行程序,可以使用grep进行扩展以按名称过滤。

kubectl get pods -o jsonpath="{.items[*].metadata.name}" | \
tr " " "\n" | \
xargs -i -P 0 kubectl delete pods {}
kubectl delete daemonsets,replicasets,services,deployments,pods,rc,ingress --all --all-namespaces

也摆脱了烦人的复制控制器。

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

 kubectl get pod -A -o yaml | kubectl delete -f -
kubectl delete po,ing,svc,pv,pvc,sc,ep,rc,deploy,replicaset,daemonset --all -A