Raf*_*ael 3 kubernetes google-kubernetes-engine
这个问题是以下问题的后续问题:如何列出不存在的命名空间的所有对象?
长话短说:
$ 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
Run Code Online (Sandbox Code Playgroud)
命名空间 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
Run Code Online (Sandbox Code Playgroud)
...不起作用。
那么,我该如何强制删除它们呢?
更新:
$ 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:
Run Code Online (Sandbox Code Playgroud)
这有效:
$ 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
Run Code Online (Sandbox Code Playgroud)
如果有人偶然发现这个答案并知道为什么它有效 - 请在评论中添加解释。那会很酷,谢谢。
| 归档时间: |
|
| 查看次数: |
2479 次 |
| 最近记录: |