我有一个“卡住”的命名空间,我删除了它,显示在这个永恒的“终止”状态中。
假设您已经尝试强制删除资源,例如:Pod 停留在终止状态 https://stackoverflow.com/q/35453792,而你却束手无策地试图恢复名称空间......
您可以强制删除命名空间(可能会留下悬空资源):
(
NAMESPACE=your-rogue-namespace
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
)
这是答案的细化here https://stackoverflow.com/a/52412965/86967,这是基于评论here https://github.com/kubernetes/kubernetes/issues/60807#issuecomment-408599873.
我正在使用jq
以编程方式删除终结器部分中的元素的实用程序。您可以手动执行此操作。
kubectl proxy
创建侦听器127.0.0.1:8001
默认情况下。如果您知道集群主机的主机名/IP,则可以使用它。
有趣的是,即使在使用时,这种方法似乎也有效kubectl edit
进行相同的更改没有效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)