Kapsuły utkwiły w stanie zakończenia

Zmęczyłem się usuwaniem kontrolera replikacji z 12 strąkami i widziałem, że niektóre strąki utknęły w stanie zakończenia. Moja konfiguracja Kubernetes składa się z jednego master i trzech minonów zainstalowanych w maszynach wirtualnych ubuntu. Co może być przyczyną tego problemu?

NAME        READY     STATUS        RESTARTS   AGE
pod-186o2   1/1       Terminating   0          2h
pod-4b6qc   1/1       Terminating   0          2h
pod-8xl86   1/1       Terminating   0          1h
pod-d6htc   1/1       Terminating   0          1h
pod-vlzov   1/1       Terminating   0          1h
 109
Author: Oz123, 2016-02-17

6 answers

Możesz użyć następującego polecenia, aby usunąć POD siłą.

kubectl delete pod NAME --grace-period=0 --force
 202
Author: Nitin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-06 11:19:56

Wymuś usunięcie pod:

kubectl delete pod --grace-period=0 --force --namespace <NAMESPACE> <PODNAME>

Znacznik --force jest obowiązkowy.

 39
Author: Joan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-19 22:33:24

Usuń blok finalizerów z zasobów (pod,deployment, ds itp...) yaml: {]}

"finalizers": [
  "foregroundDeletion"
]
 13
Author: Roee Rakovsky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-27 10:31:03

Praktyczna odpowiedź-zawsze możesz usunąć kończący się pod uruchamiając:

kubectl delete pod NAME --grace-period=0

Historyczna odpowiedź -- wystąpił problem w wersji 1.1, w którym czasami strąki zostają zablokowane w stanie zakończenia, jeśli ich węzły są nieczyste usunięte z klastra.

 10
Author: Alex Robinson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-07 17:56:48

Jeśli --grace-period=0 nie działa to możesz zrobić:

kubectl delete pods <pod> --grace-period=0 --force
 1
Author: Paul Ma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-13 20:10:30

Natknąłem się na to ostatnio podczas usuwania przestrzeni nazw rook ceph - utknęło w stanie zakończenia.

Jedyną rzeczą, która pomogła, było usunięcie finalizera kubernetes poprzez bezpośrednie wywołanie API k8s za pomocą curl, zgodnie z sugestią tutaj .

  • kubectl get namespace rook-ceph -o json > tmp.json
  • delete Kubernetes finalizer in tmp.json (leave empty array "finalizers": [])
  • Uruchom kubectl proxy w innym terminalu dla celów auth i uruchom następujące żądanie curl do zwróconego portu
  • curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json 127.0.0.1:8001/k8s/clusters/c-mzplp/api/v1/namespaces/rook-ceph/finalize
  • przestrzeń nazw jest gone

Szczegółowe informacje o rook ceph tearddown tutaj .

 0
Author: zub0r,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-20 07:51:45