云容器引擎集群中如果已经安装了服务网格可能存在istio-system命名空间,如果要开通服务网格需要先清理命名空间,您可能会遇到删除命名空间后,命名空间一直处于Terminating状态,且无法删除。
原因:可能是因为命名空间下有其他资源,或者没有资源的情况也可能一直卡死
解决方案:
kubectl get namespace <terminating-namespace> -o json > ns.json
编辑ns.json, 将spec.finalizers设为空数组
执行kubectl proxy,启动一个kube api server本地代理
另开一个窗口执行命令更新命名空间的finalizers curl -k -H "Content-Type: application/json" -X PUT --data-binary @ns.json http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize