Jeff 谢谢,解决了。
原因:删除kubevirt资源对象时,方式不对
我的方式
kubectl delete -f kubevirt-operator.yaml
kubectl delete -f kubevirt-cr.yaml
官方方式
$ export RELEASE=v0.17.0
$ kubectl delete -n kubevirt kubevirt kubevirt --wait=true # --wait=true should anyway be default
$ kubectl delete apiservices v1alpha3.subresources.kubevirt.io # this needs to be deleted to avoid stuck terminating namespaces
$ kubectl delete mutatingwebhookconfigurations virt-api-mutator # not blocking but would be left over
$ kubectl delete validatingwebhookconfigurations virt-api-validator # not blocking but would be left over
$ kubectl delete -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-operator.yaml
Note: The apiservice and the webhookconfigurations need to be deleted manually due to a bug.
$ kubectl -n kubevirt patch kv kubevirt --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]'
官方样例基于v0.17.0
,本地环境基于v0.35.0
同样生效。
执行完毕后,命名空间可以正常删除。
关联issue