kubernetes里命名空间删不掉的问题

如果某个命名空间(此例里是ingress-nginx)迟迟删除不掉,状态一直是Terminating,然后在此命名空间里重新创建资源时报如下错误:

Error from server (Forbidden): error when creating "nginx-controller.yaml": roles.rbac.authorization.k8s.io "ingress-nginx-admission" is forbidden: unable to create new content in namespace ingress-nginx because it is being terminated

解决办法
在第一个终端里执行

kubectl proxy

在第二个终端里

kubectl get namespace ingress-nginx -o json > xx.json

用vim编辑xx.json
file
改成
file
把这当中的kubernetes删除,或者直接用如下命令删除

sed -i '/"finalizers"/{n;d}' xx.json

然后执行如下命令:

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

这样即可删除。

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读