He intentado eliminar un espacio de nombres en mi clúster de Amazon Elastic Kubernetes Service (Amazon EKS). Sin embargo, el espacio de nombres está bloqueado en estado de terminación.
Descripción corta
Para eliminar un espacio de nombres, en primer lugar, Kubernetes debe eliminar todos los recursos del espacio de nombres. A continuación, Kubernetes comprueba los servicios de API registrados para confirmar que han eliminado todas las referencias a los recursos de ese espacio de nombres.
Un espacio de nombres puede quedar bloqueado en el estado de terminación por los siguientes motivos:
- El espacio de nombres contiene recursos que Kubernetes no puede eliminar debido a los finalizadores.
- Un servicio de API muestra el estado Falso.
Resolución
Sigue estos pasos:
-
Para editar la configuración de tu espacio de nombres que está bloqueado en el estado de terminación, ejecuta el siguiente comando:
kubectl edit namespace TERMINATING_NAMESPACE
Nota: Sustituye TERMINATING_NAMESPACE por el espacio de nombres que está bloqueado en el estado de terminación.
-
Elimina las líneas que incluyen los finalizadores de la configuración.
Ejemplo:
finalizers:
- kubernetes
-
Para aplicar los cambios, guarda y cierra el editor de texto. Si usas VIM, escribe :wq y, a continuación, pulsa Intro.
-
Para confirmar que se ha eliminado el espacio de nombres en estado de terminación, ejecuta el siguiente comando:
kubectl get namespaces
Repite los pasos anteriores para cualquier otro espacio de nombres que esté bloqueado en estado de terminación.
Información relacionada
Namespaces (Espacios de nombres) en el sitio de Kubernetes
Finalizers (Finalizadores) en el sitio web de Kubernetes