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


当前回答

如果你有多个pod崩溃或出错,你想删除它们

Kubectl delete pods——all -n | gep

其他回答

我创建了一个python代码删除所有在命名空间

delall.py

import json,sys,os;

obj=json.load(sys.stdin);
for item in obj["items"]:
        os.system("kubectl delete " + item["kind"] + "/" +item["metadata"]["name"] + " -n yournamespace")

然后

kubectl get all -n kong -o json | python delall.py
kubectl delete daemonsets,replicasets,services,deployments,pods,rc,ingress --all --all-namespaces

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

你可以使用kubectl删除pods -l dev-lead!=carisa或其他标签。

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

kubectl get pods -o jsonpath="{.items[*].metadata.name}" | \
tr " " "\n" | \
xargs -i -P 0 kubectl delete pods {}

Kubectl bulk (bulk-action on krew)插件可能对您有用,它为您提供了选定资源的批量操作。删除pod的命令

 ' kubectl bulk pods -n namespace delete '

你可以在这里查看细节