Skip to content

Instantly share code, notes, and snippets.

@zparnold
Last active May 6, 2024 13:14
Show Gist options
  • Save zparnold/0e72d7d3563da2704b900e3b953a8229 to your computer and use it in GitHub Desktop.
Save zparnold/0e72d7d3563da2704b900e3b953a8229 to your computer and use it in GitHub Desktop.
A simply script to delete all failed pods from Kubernetes
kubectl get pods --all-namespaces | grep Evicted | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod
@abdulnazurudeen
Copy link

My case I have to delete few specifically those have different name of pod, I will used below command to delete those.
If you know the name list to delete try like below worked for me.
kubectl delete pods podname1 anotherpod2 etcpod

@Nurlan199206
Copy link

@rubenpetrosyan1 good, it's works

@mayconritzmann
Copy link

mayconritzmann commented Mar 29, 2023

This simple loop could help:

#!/bin/bash

for ns in $(kubectl get po -A --no-headers | grep -i crash | awk {'print $1'}); do
  delpods=$(kubectl get pods -n $ns |
    grep -i 'CrashLoopBackOff' |
    awk '{print $1 }')    
  for i in ${delpods[@]}; do
    kubectl delete pod $i --force=true --wait=false \
      --grace-period=0 -n $ns 
  done
done

@BioQwer
Copy link

BioQwer commented Jun 28, 2023

kubectl delete pods --field-selector status.phase=Failed --all-namespaces
kubectl delete pods --field-selector status.phase=Error --all-namespaces
kubectl delete pods --field-selector status.phase=Succeeded --all-namespaces

#ALL
kubectl delete pods --field-selector status.phase!=Running --all-namespaces

@mertyakan
Copy link

kubectl get po -A -o wide| grep -vE "Compl|Runn"|awk {'print $1,$2'}|grep -v NAMESPACE| sed "s,^,kubectl delete pod --force -n ,g" |bash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment