如何强制删除不存在的命名空间中的资源?
How to force delete resources in a non-existant namespace?
此问题是以下问题的跟进:
长话短说:
$ kubectl get namespaces
NAME STATUS AGE
argo Active 27d
default Active 27d
kube-node-lease Active 27d
kube-public Active 27d
kube-system Active 27d
$ kubectl get eventbus -n argo-events
NAME AGE
default 17h
$ kubectl get eventsource -n argo-events
NAME AGE
pubsub-event-source 14h
命名空间 argo-events 中有两个资源实际上不再存在,因为我删除了它并希望它与其中的所有资源一起消失。显然有些东西没有按预期工作。
现在(在列出可能更多的对象后 - 第一个问题)我想真正摆脱那些资源,因为它们似乎会阻止重新部署。
但是这...
$ kubectl delete eventbus default -n argo-events
eventbus.argoproj.io "default" deleted
^C
$ kubectl delete eventsource pubsub-event-source -n argo-events
eventsource.argoproj.io "pubsub-event-source" deleted
^C
...不起作用。
那么,如何强制删除它们?
更新:
$ kubectl describe eventbus default -n argo-events | grep -A 3 final
f:finalizers:
.:
v:"eventbus-controller":
f:status:
$ kubectl describe eventsource pubsub-event-source -n argo-events | grep -A 3 final
f:finalizers:
.:
v:"eventsource-controller":
f:spec:
这有效:
$ kubectl create namespace argo-events
namespace/argo-events created
$ kubectl patch eventsource/pubsub-event-source -p '{"metadata":{"finalizers":[]}}' --type=merge -n argo-events
eventsource.argoproj.io/pubsub-event-source patched
$ kubectl patch eventbus/default -p '{"metadata":{"finalizers":[]}}' --type=merge -n argo-events
eventbus.argoproj.io/default patched
$ kubectl delete namespace argo-events
namespace "argo-events" deleted
如果有人偶然发现了这个答案并且知道它为什么有效 - 请在评论中添加解释。那太好了,谢谢。
怎么样:
kubectl delete eventsource pubsub-event-source -n argo-events --grace-period=0 --force
?
此问题是以下问题的跟进:
长话短说:
$ kubectl get namespaces
NAME STATUS AGE
argo Active 27d
default Active 27d
kube-node-lease Active 27d
kube-public Active 27d
kube-system Active 27d
$ kubectl get eventbus -n argo-events
NAME AGE
default 17h
$ kubectl get eventsource -n argo-events
NAME AGE
pubsub-event-source 14h
命名空间 argo-events 中有两个资源实际上不再存在,因为我删除了它并希望它与其中的所有资源一起消失。显然有些东西没有按预期工作。
现在(在列出可能更多的对象后 - 第一个问题)我想真正摆脱那些资源,因为它们似乎会阻止重新部署。
但是这...
$ kubectl delete eventbus default -n argo-events
eventbus.argoproj.io "default" deleted
^C
$ kubectl delete eventsource pubsub-event-source -n argo-events
eventsource.argoproj.io "pubsub-event-source" deleted
^C
...不起作用。
那么,如何强制删除它们?
更新:
$ kubectl describe eventbus default -n argo-events | grep -A 3 final
f:finalizers:
.:
v:"eventbus-controller":
f:status:
$ kubectl describe eventsource pubsub-event-source -n argo-events | grep -A 3 final
f:finalizers:
.:
v:"eventsource-controller":
f:spec:
这有效:
$ kubectl create namespace argo-events
namespace/argo-events created
$ kubectl patch eventsource/pubsub-event-source -p '{"metadata":{"finalizers":[]}}' --type=merge -n argo-events
eventsource.argoproj.io/pubsub-event-source patched
$ kubectl patch eventbus/default -p '{"metadata":{"finalizers":[]}}' --type=merge -n argo-events
eventbus.argoproj.io/default patched
$ kubectl delete namespace argo-events
namespace "argo-events" deleted
如果有人偶然发现了这个答案并且知道它为什么有效 - 请在评论中添加解释。那太好了,谢谢。
怎么样:
kubectl delete eventsource pubsub-event-source -n argo-events --grace-period=0 --force
?