我们有一个集群,看来似乎永远都不想完全删除名称空间,现在无法重新创建自定义指标名称空间以能够收集自定义指标以正确设置HPA。我完全理解,我可以使用所有自定义指标资源创建另一个名称空间,但是由于名称空间陷入了“终止”状态,因此与集群的整体运行状况有些关系
$ 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
Run Code Online (Sandbox Code Playgroud)
我已经尝试将名称空间导出为JSON,删除终结器并使用已编辑的JSON文件重新创建。还尝试kubectl编辑ns自定义指标并删除“-kubernetes”终结器。一切都无济于事。
是否有人对我如何可以销毁这些“卡住”的命名空间有其他建议?
卷曲到https://master-ip/api/v1/namespace/...../finalize对我来说似乎不适用于Google Kubernetes Engine,我假设在GKE集群上不允许这些操作
尝试类似的事情也不起作用:
$ kubectl delete ns custom-metrics --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)
警告:立即删除不会等待确认正在运行的资源已终止。资源可能会无限期地继续在群集上运行。服务器错误(冲突):无法在名称空间“自定义指标”上执行操作:系统正在确保从该名称空间中删除所有内容。完成后,该名称空间将由系统自动清除。
并且此命名空间中根本没有列出任何资源:
kubectl get all -n custom-metrics或者循环访问此命名空间中的所有api资源都表明根本不存在任何资源:
kubectl api-resources --namespaced=true -o name | xargs -n 1 kubectl get -n custom-metrics