在查看文档时,有一个API调用可以删除单个pod,但是否有一种方法可以删除所有名称空间中的所有pod ?
当前回答
下面是一个单行程序,可以使用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 '
你可以在这里查看细节
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,…) 您可以使用名称空间。 您可以在创建资源时使用标签。
你可以使用kubectl删除pods -l dev-lead!=carisa或其他标签。
我创建了一个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连续日志
- 我的kubernetes豆荚不断崩溃与“CrashLoopBackOff”,但我找不到任何日志
- 如何从kubectl配置中删除集群和上下文?
- Kubernetes支持多个环境(Staging、QA、生产等)
- Kubernetes API -获取特定节点上的pod
- 我如何调试“ImagePullBackOff”?
- 在Kubernetes中更新configmap时重新启动pod ?
- 为部署的Kubernetes服务获取YAML ?
- 如何在kubernetes中切换命名空间
- 位于另一个名称空间中的服务
- 命名空间“卡住”作为终止,我如何删除它
- Kubernetes如何使部署更新映像
- 如何在gcloud和minikube之间切换kubectl集群
- 如何让容器在Kubernetes上运行?
- 如何手动触发Kubernetes计划作业?