解决Kubernetes Pod的Evicted状态及批量删除指定状态的Pods命令

1
kubectl get pods

发现很多pod的状态为Evicted

原因

eviction,即驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。
多见于资源不足时导致的驱赶,本次问题为磁盘不足导致。

解决办法
排查资源和异常原因,防止新的驱赶产生。处理资源问题后,删除Evicted状态pod,重新拉起

1
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod

批量删除指定状态的 Pods

命令如下:

1
kubectl get pods -n <Namespace> | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n <Namespace>
  • kubectl get pods -n <Namespace> 获取指定 Namespace 下的所有 Pods
  • grep <status> 筛选出指定状态的 Pods
  • awk '{print $1}' 取 Pod 的 Name
  • xargs kubectl delete pod -n <Namespace> 传递 Pod's Name 用于删除 Pod
posted @   人艰不拆_zmc  阅读(4266)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2018-11-16 (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!
2016-11-16 CentOS修改mysql 用户root的密码并允许远程登录
点击右上角即可分享
微信分享提示