Kubernetes — Status: Evicted

Статус "Evicted" означает, что Pod был "выселен" с ноды, так как ему не хватило ресурсов. Это можно наблюдать, если вывести поды:

kubectl get pod -n staging
NAME                                      READY   STATUS             RESTARTS   AGE
artem-client-app-5bb855b7-ccfmz           1/1     Running            0          63m
artem-instance-app-64584c56d4-4g5qh       0/1     Evicted            0          16m
artem-instance-app-64584c56d4-knc9z       0/1     Evicted            0          16m
artem-instance-app-64584c56d4-ld8h9       0/1     Evicted            0          25m
artem-instance-app-64584c56d4-lstt9       0/1     Evicted            0          16m
artem-instance-app-64584c56d4-sksrg       0/1     Evicted            0          16m
artem-instance-app-c67d9b8b9-7ppsg        1/1     Running            0          14m

 

Для того, чтобы удалить все поды в статусе "Evicted" выполните следующее:

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

Метки: Метки

Подписаться
Уведомить о
guest

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Denis
Denis
2 лет назад

Команда у меня не отработала, ругнувшись на ключ и версионность кубера. Помогла вот эта:

kubectl get pods --all-namespaces | egrep -i 'Evicted|Terminated' | awk '{print $2 " --namespace=" $1}' | xargs kubectl delete pod --force=true --wait=false --grace-period=0