K8S – wieczny stan ‘Terminating’

Kubernetes - Pod Stuck In Terminating State K8S

Last updated on 20 kwietnia, 2021

Hej dzisiaj szybki wpis na temat błędu, który zdarza się czasem w kubernetesie podczas usuwania podów. Jak ktoś ma pecha to podczas usuwania pod kubernetesa może mu ‘utknąć’ w stanie Terminating i tak sobie wisieć nawet kilka dni.

Kubernetes table terminating status
Kubectl delete pods --all -n NAMESPACE_NAME
Kubectl delete pods POD_NAME -n NAMESPACE_NAME
Kubectl delete deployments DEPLOYMENT_NAME -n NAMESPACE_NAME

Nie pomoże wtedy ręczne usuwanie podów z namespace, nawet jeśli określimy, że chcemy usunąć konkretny pod i podamy jego dokładną nazwę. Usunięcie ‘deploymentu’ też nic nie da. Cały czas pod na kubernetesie będzie uparcie tkwił w stanie ‘Terminating’.

Jeśli chcemy to naprawić, musimy użyć trochę siły. Mnie zawsze pomaga polecenie podane poniżej, usuwa ono poda niemal natychmiastowo. Oczywiście jeśli macie poda w dedykowanym namespace to dodajecie do polecenia jego nazwę.

kubectl delete pod POD_NAME --grace-period=0 --force
kubectl delete pod POD_NAME --grace-period=0 --force -n NAMESPACE_NAME

Jest jeszcze jedno rozwiązanie, troszkę bardziej drastyczne, którego ja nie musiałem stosować. Gdyby siłowe usunięcie poda nie zadziałało, można zrestartować całego ‘workera’.

Więcej informacji na temat podów i Kubernetesa znajdziecie w dokumentacji na stronie https://kubernetes.io/docs/concepts/workloads/pods/pod/

Więcej artykułów dotyczących Kubernetesa znajdziesz w kategori Kubernetes https://lepczynski.it/category/k8s/

Tagi:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *