Al hacer limpieza de uno de los clústers de desarrollo, he borrado dos namespaces y los dos se han quedado en estado Terminating
k3os [~]$ k get ns
NAME STATUS AGE
[...]
toolbox-argocd Terminating 147d
toolbox-tekton-pipelines Terminating 147d
He intentado varias cosas (incluso reiniciando la VM), pero los namespaces seguían sin eliminarse…
El problema es que hay “algo” que impide que el namespace se borre; puedes identificar ese algo lanzando un kubectl get ns ${nombre_namespace} -o yaml
del namespace y buscando en la sección de metadata.finalizers
.
[...]
metadata:
finalizers:
- controller.cattle.io/namespace-auth
[...]
Aunque no puedo borrar este elemento que bloquea el borrado del Namespace, sí que puedo editar el Namespace para eliminar el finalizer. Así Kubernetes cree que no hay nada que impida la eliminación del objeto.
Edito el objeto mediante kubectl edit ns toolbox-argocd
y elimino la línea correspondiente a - controller.cattle.io/namespace-auth
:
[...]
finalizers:
[...]
Al guardar los cambios, compruebo de nuevo la lista de Namespaces para validar que el Namespace se ha borrado correctamente.