k8s 删除 namespace 一直 Terminating 怎么办?

2024-01-22 16:20:01 +08:00
chesha1  chesha1
各种方法都试过了,删除,强制删除,kubectl edit ns 删掉 finalizer 再删除都不行

有没有什么方法能查到,到底是什么原因导致了 Terminating
因为我到节点的物理机的/var/log 的各种日志里看了下,没看到明显的原因,kubectl describe 的信息也很少,看不到原因
1982 次点击
所在节点   Kubernetes  Kubernetes
11 条回复
CCIEliu
CCIEliu
2024-01-22 16:28:26 +08:00
留联系方式。
seers
seers
2024-01-22 16:29:06 +08:00
看 kubelet 日志,crictl 日志
dolphintwo
dolphintwo
2024-01-22 16:30:42 +08:00
要去 etcd 看了
seers
seers
2024-01-22 16:31:37 +08:00
一般来说,crds 方面嫌疑比较大,可以优先排查
sqfphoenix
sqfphoenix
2024-01-22 16:39:03 +08:00
我记得 describe 里面可以看到有哪些资源残留的吧,包含残留的资源和残留的 finalizer
jason1121
jason1121
2024-01-22 16:50:38 +08:00
replace 试试

```
kubectl get namespace "stucked-namespace" -o json \
| tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/" \
| kubectl replace --raw /api/v1/namespaces/stucked-namespace/finalize -f -
```

https://stackoverflow.com/questions/52369247/namespace-stuck-as-terminating-how-i-removed-it/59667608#59667608
fengxsong
fengxsong
2024-01-22 17:27:14 +08:00
应该是去看 controller-manager 的日志才对。。。
qoo2019
qoo2019
2024-01-22 17:30:41 +08:00
kubectl patch ns xxx -p '{"metadata":{"finalizers":null}}'

试下
baiyi
baiyi
2024-01-22 17:33:04 +08:00
经典问题,大概率是有什么 apiservice 之类的卡住了,也可以通过 replace 强删: https://github.com/kubernetes/kubernetes/issues/60807
halozzz
halozzz
2024-01-22 17:39:31 +08:00
盲猜 CRDS 的原因。。 遇到过好几次了
fangdajiang
fangdajiang
2024-01-23 10:36:53 +08:00
还没解决的话,可以这样尝试:

kubectl get namespaces xxx -o json > tmp.json

删除 finalizers 的值,变成 []

开启 proxy: kubectl proxy

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/xxx/finalize

qoo2019 的方法,我记得要写成: {"metadata":{"finalizers": [null]}}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1010710

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX