0%

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

问题描述

在查看文档时看到,有一个api调用可以删除pod,有没有办法杀死所有命名空间中的所有pod?

高票回答

没有命令可以完全按照你的要求去做。

可以使用以下命令删除单个命名空间中的所有pod:

1
kubectl delete --all pods --namespace=foo

可以使用以下命令删除所有命名空间以及每个命名空间中的每个对象(但不包括非命名空间的对象,如节点和某些事件):

1
kubectl delete --all namespaces

但是,后一个命令可能不是你想要做的事情,因为它会删除kube-system命名空间中的东西,这会使你的集群无法使用。

此命令将删除除kube-system之外的所有名称空间,这可能很有用:

1
2
3
4
for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system);
do
kubectl delete ns $each
done

原文链接

Command to delete all pods in all kubernetes namespaces