繁体   English   中英

Kube.netes 命名空间卡在终止状态

[英]Kubernetes namespace stuck in terminating status

Kube.netes 命名空间卡在终止状态。

这通常是由于终结器而发生的

$ kubectl get ns
NAME             STATUS        AGE
cert-manager     Active        14d
custom-metrics   Terminating   7d
default          Active        222d
nfs-share        Active        15d
ingress-nginx    Active        103d
kube-public      Active        222d
kube-system      Active        222d
lb               Terminating   4d
monitoring       Terminating   6d
production       Active        221d

这对我有用:

kubectl 获取命名空间 linkerd -o json > linkerd.json

其中:/api/v1/namespaces/<your_namespace_here>/finalize

kubectl replace --raw "/api/v1/namespaces/linkerd/finalize" -f ./linkerd.json

这对我有用:

kubectl get namespace monitoring -o json > monitoring.json

从终结器数组中删除“kubernetes”。

kubectl replace --raw "/api/v1/namespaces/monitoring/finalize" -f ./monitoring.json

我已经把它写成一个对我来说很方便的脚本。

for i in $(kubectl get namespaces | grep "Terminating" | cut -d" " -f1)
do
 echo "deleting namespace $i"
 kubectl get namespace $i -o json |jq '.spec = {"finalizers":[]}' > tempfile.json
 kubectl replace --raw "/api/v1/namespaces/${i}/finalize" -f ./tempfile.json
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM