在查看文档时,有一个API调用可以删除单个pod,但是否有一种方法可以删除所有名称空间中的所有pod ?
当前回答
删除pv的步骤如下:
删除所有与该PV相关的部署和pod或资源 Kubectl delete——all deployment -n namespace Kubectl delete——所有pod -n命名空间 编辑光伏 Kubectl编辑pv pv_name -n namespace 删除kubernetes.io / pv-protection 删除pv Kubectl delete pv pv_name -n namespace
其他回答
如果您已经有了重新创建的pod,请考虑先删除所有部署
kubectl delete -n *NAMESPACE deployment *DEPLOYMENT
只需将NAMSPACE和DEPLOYMENT替换为相应的NAMSPACE和DEPLOYMENT,就可以通过以下命令获得所有部署信息
kubectl get deployments --all-namespaces
删除pv的步骤如下:
删除所有与该PV相关的部署和pod或资源 Kubectl delete——all deployment -n namespace Kubectl delete——所有pod -n命名空间 编辑光伏 Kubectl编辑pv pv_name -n namespace 删除kubernetes.io / pv-protection 删除pv Kubectl delete pv pv_name -n namespace
没有命令可以完全按照你的要求去做。
以下是一些势均力敌的比赛。
在运行这些命令之前一定要小心。如果使用多个集群,请确保连接到正确的集群。考虑运行。Kubectl配置视图优先。
你可以用这个命令删除一个命名空间中的所有pod:
kubectl delete --all pods --namespace=foo
您还可以删除命名空间中的所有部署,这将删除与该命名空间对应的部署附加的所有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
如果你有多个pod崩溃或出错,你想删除它们
Kubectl delete pods——all -n | gep
如果你想删除所有命名空间中的pod,只是为了让它们重新启动,并且你知道其中一些将被重新创建,我喜欢下面的for循环:
for i in $(kubectl get pods -A | awk '{print $1}' | uniq | grep -V NAMESPACE); do kubectl delete --all pods -n $i; done
推荐文章
- 如何在gcloud和minikube之间切换kubectl集群
- 如何让容器在Kubernetes上运行?
- 如何手动触发Kubernetes计划作业?
- 如何从Kubernetes复制控制器的所有pod中获取日志?
- 删除Kubernetes pod时重新创建
- 使用/healthz进行应用程序运行状况检查的约定来自哪里?
- Kubernetes Service定义中targetPort和port的区别
- Kubernetes服务外部ip挂起
- 我如何强迫Kubernetes重新拉一张图片?
- 命令删除所有kubernetes命名空间中的所有pod
- 吊舱和部署的区别是什么?
- 入口vs负载均衡器
- Apache的Mesos和谷歌的Kubernetes有什么区别
- Docker Compose和Kubernetes有什么区别?
- Kubectl应用vs Kubectl创建?