一、如果您想删除所有处于Terminating状态的Pod

  1. 使用kubectl命令检查当前集群中所有处于Terminating状态的Pod:
kubectl get pods --all-namespaces | grep Terminating
  1. 创建一个包含所有处于Terminating状态Pod的文件,以便后续操作:
kubectl get pods --all-namespaces | grep Terminating > terminating_pods.txt
  1. 编辑 terminating_pods.txt 文件,确保只包含待删除的Pod信息。

使用循环脚本来删除这些Pod,遍历 terminating_pods.txt 中的每一行,并执行删除命令:

while read line; do
  namespace=$(echo $line | awk '{print $1}')
  pod=$(echo $line | awk '{print $2}')
  kubectl delete pod $pod -n $namespace --force --grace-period=0
done < terminating_pods.txt

请注意,执行删除操作需要谨慎,确保您只删除了预期的Pod。同时,使用上述方法删除Terminating状态的Pod可能会引起数据丢失或其他意外情况,请先备份重要数据并谨慎操作。

二、删除所有处于Evicted状态的pod

kubectl get pods --all-namespaces -o json | jq -r '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted")) | "kubectl delete pods \(.metadata.name) -n \(.metadata.namespace)"' | sh
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐