Ich habe versucht, einen Namespace in meinem Amazon Elastic Kubernetes Service (Amazon EKS)-Cluster zu löschen. Der Namespace steckt jedoch im Status „Terminating“ fest.
Kurzbeschreibung
Um einen Namespace zu löschen, muss Kubernetes zuerst alle Ressourcen im Namespace löschen. Anschließend überprüft Kubernetes registrierte API-Dienste, um sicherzustellen, dass sie alle Verweise auf Ressourcen in diesem Namespace entfernt haben.
Ein Namespace kann aus den folgenden Gründen im Status Terminating feststecken:
- Der Namespace enthält Ressourcen, die Kubernetes aufgrund von Finalizern nicht löschen kann.
- Ein API-Dienst hat den Status False (Falsch).
Lösung
Führe die folgenden Schritte aus:
-
Führe den folgenden Befehl aus, um die Konfiguration deines Namespaces zu bearbeiten, der im Status Terminating feststeckt:
kubectl edit namespace TERMINATING_NAMESPACE
Hinweis: Ersetze TERMINATING_NAMESPACE durch den Namespace, der im Status Terminating feststeckt.
-
Entferne die Zeilen, die die Finalizer in deiner Konfiguration enthalten.
Beispiel:
finalizers:
- kubernetes
-
Speichere und schließe den Texteditor, um die Änderungen zu übernehmen. Wenn du VIM verwendest, gib :wq ein und drücke dann Enter.
-
Führe den folgenden Befehl aus, um zu bestätigen, dass der Namespace im Status Terminating entfernt wurde:
kubectl get namespaces
Wiederhole die vorherigen Schritte für alle verbleibenden Namespaces, die sich im Status Terminating befinden.
Ähnliche Informationen
Namespaces auf der Kubernetes-Website
Finalizer auf der Kubernetes-Website