kubernetes删除命名空间中的所有Pod

识趣 发表于: 2021-09-10   最后更新时间: 2022-11-21 15:30:24   4,218 游览

经查看文档,调用可以删除单个pod,但是否有办法删除所有命名空间的所有pod?

发表于 2021-09-10

没有命令可以完全做到额。

这里有一些接近命令。

你可以用这个命令删除一个命名空间中的所有pods。

kubectl delete --all pods --namespace=foo

你也可以删除命名空间中的所有deployments,这将删除与该命名空间对应的部署相连的所有pods

kubectl delete --all deployments --namespace=foo

你可以用这个命令删除所有命名空间和每个命名空间的每个对象(但不包括未命名的对象,如节点和一些事件)。

kubectl delete --all namespaces

但是,这可能不是你想做的,因为它将删除kube-system命名空间中的东西,这样你的集群也无法使用。

最后,删除除kube-system以外的所有命名空间,这可能是你需要的。

for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system);
do
  kubectl delete ns $each
done
识趣 -> 半兽人 3年前

好谨慎,感谢大佬!

提供一个精确删除类型的缩写的方式,虽然不符合你想要的。

kubectl delete daemonsets,replicasets,services,deployments,pods,rc --all
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题