[英]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.