Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
linux_faq:kubernetes_delete_namespace_hung_in_terminating_state [2019/10/16 14:14] mikelinux_faq:kubernetes_delete_namespace_hung_in_terminating_state [2021/07/13 22:27] admin
Line 1: Line 1:
 https://github.com/kubernetes/kubernetes/issues/60807 https://github.com/kubernetes/kubernetes/issues/60807
 Что делать, если неймспейс при удалении завис в состоянии **Terminating**? \\ Что делать, если неймспейс при удалении завис в состоянии **Terminating**? \\
-  * Нужно попытаться отредактировать его и удалить **finalizers** (в том числе и из спецификации).+  * Нужно попытаться отредактировать его и удалить **finalizers** (в том числе и из спецификации). Например так: <code>kubectl patch ns BAD_NAMESPACE -p '{"metadata":{"finalizers":null}}'</code>
   * Если это не помогло (**finalizers** вернулись а место после удаления), то нужно сделать так:   * Если это не помогло (**finalizers** вернулись а место после удаления), то нужно сделать так:
 <code>kubectl get namespace BAD_NAMESPACE -o json > tmp.json</code> <code>kubectl get namespace BAD_NAMESPACE -o json > tmp.json</code>
-Отредактировать файлик **tmp.json**, удалив из него **finalizers**, а затем применить его: +Отредактировать файлик **tmp.json**, удалив из него **finalizers**, а затем применить его. \\ 
-  kubectl proxy --port=8080 &+Для этого - проксируем API на локальный порт
 +  sudo -E kubectl proxy --port=8080 
 +И затем финализируем удаление неймспейса:
   curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json https://localhost:8080/api/v1/namespaces/BAD_NAMESPACE/finalize   curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json https://localhost:8080/api/v1/namespaces/BAD_NAMESPACE/finalize
  
 +  systemctl stop kubelet.service
 +  for item in `ctr -n k8s.io tasks ls | awk '{print $1}'`; do ctr -n k8s.io tasks kill $item; done 
 +  for item in `ctr -n k8s.io containers ls | awk '{print $1}'`; do ctr -n k8s.io containers rm $item; done
 +  ctr -n k8s.io tasks ls
 +  ctr -n k8s.io containers ls
 +  systemctl start kubelet.service
  • linux_faq/kubernetes_delete_namespace_hung_in_terminating_state.txt
  • Last modified: 2021/10/22 09:04
  • by admin