在查看文档时,有一个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

我尝试了这里列出的答案中的命令,但豆荚卡在终止状态。 我发现下面的命令可以删除特定名称空间中的所有pods,如果处于终止状态或无法删除它,那么可以强制删除pods。

kubectl delete pods --all --grace-period=0 --force --namespace namespace

希望对别人有用。

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

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

K8s完全在命名空间的基础上工作。如果要释放与指定命名空间相关的所有资源。

你可以使用下面提到的:

kubectl delete namespace k8sdemo-app

你可以简单地跑

kubectl delete all --all --all-namespaces

第一个都是指常见的资源类型(pods, replicasets, deployment,…) Kubectl get all == Kubectl get pods,rs,部署,… 第二,all表示选择所选类型的所有资源


注意,all不包括:

非命名空间资源(例如,clusterrolebindings, clusterroles,…) configmaps rolebindings 角色 秘密 ...


为了完美地清理,

你可以使用其他工具(例如Helm, Kustomize,…) 您可以使用名称空间。 您可以在创建资源时使用标签。