k8s删除名称空间报错,一直处于Terminating状态中
作者:互联网
原因:
因为ingress controller的镜像 pull 失败,一直在 retry ,所以我就把 ingress-controller delete 掉,但是一直卡住在删除 namespace
强制结束以后发现 pod 已经被删掉,导入容器以后重新 create 报错,报错内容就是 ingress-nginx 名称空间 处于 Terminating 状态
解决方法:
导出运行的名称空间至json文件,删掉其中的spec字段内容,因为k8s集群是携带认证的
kubectl get ns ingress-nginx -o json > tmp.json
执行以下curl命令,使用kube-apiserver的8080端口,执行删除操作
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8080/api/v1/namespaces/ingress-nginx/finaliz
如果kube-apiserver未开非安全端口,可以手动创建一个代理会话(打开一个新的shell终端)
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8081/api/v1/namespaces/ingress-nginx/finalize
然后就会删掉此ingress-nginx名称空间
标签:tmp,ingress,nginx,json,Terminating,报错,curl,k8s 来源: https://www.cnblogs.com/yancool/p/16420148.html