CharlieC3
1/23/2020 - 6:59 PM

Delete long-running "Container Creating" pods

#!/bin/bash
# kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 get po --all-namespaces 2>/dev/null | grep "ContainerCreating" | grep -e '\d\dm' | while read -r line; do
kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 get po --all-namespaces 2>/dev/null | grep "ContainerCreating" | while read -r line; do
    NAMESPACE=$(echo ${line} | awk '{print $1}')
    POD=$(echo ${line} | awk '{print $2}')
    kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 -n ${NAMESPACE} delete po ${POD} --wait=false 2>/dev/null
done
#!/bin/bash
# kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 get po --all-namespaces 2>/dev/null | grep "ContainerCreating" | grep -e '\d\dm' | while read -r line; do
kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 get po --all-namespaces 2>/dev/null | grep "ContainerCreating" | while read -r line; do
    NAMESPACE=$(echo ${line} | awk '{print $1}')
    POD=$(echo ${line} | awk '{print $2}')
    NODE_DNS=$(kubectl --kubeconfig kubeconfig_sa-polaris-prod-us-east-1 -n ${NAMESPACE} get po ${POD} -o json | jq -r '.spec.nodeName')
    NODE_ID=$(aws ec2 describe-instances --filter Name=private-dns-name,Values=${NODE_DNS} | jq -r '.Reservations[].Instances[] | .InstanceId')
    aws ec2 terminate-instances --instance-ids "${NODE_ID}"
done