Namespace "stecken" so Beenden, Wie kann ich es entfernen?
Habe ich einen "stecken" - namespace, den ich gelöscht ... und zeigt in dieser ewigen "Abbruch" - status.
- War dein namespace leer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich einen "stecken" - namespace, den ich gelöscht ... und zeigt in dieser ewigen "Abbruch" - status.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie haben bereits versucht, die Kraft-Ressourcen löschen, wie:
Hülsen stecken beenden-status, und Ihr an euren Latein am Ende versucht, sich zu erholen namespace...
Können Sie Kraft-löschen Sie den namespace (vielleicht verlassen baumeln Ressourcen):
Dies ist eine Verfeinerung der Antwort hier, basierend auf dem Kommentar hier.
Ich bin mit der
jq
- Dienstprogramm, um programmgesteuert löschen von Elementen in der Finalizer-Abschnitt. Sie könnten dies manuell tun, statt.kubectl proxy
legt den Hörer auf127.0.0.1:8001
standardmäßig. Wenn Sie wissen, hostname/IP des cluster-master, können Sie das stattdessen benutzen.Das lustige an der Sache ist, dass dieser Ansatz scheint zu funktionieren, auch wenn Sie mit
kubectl edit
machen die gleiche änderung hat keine Wirkung.kubectl edit
Lösung auf der Oberseite, da es viel einfacher und macht das gleiche, gilt für alle Objekte.War es für uns die
metrics-server
Absturz.Also zu prüfen, ob dies für Sie relevant ist ' r Fall mit der folgenden ausführen:
kubectl api-resources
Wenn Sie
error: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
Dann wahrscheinlich das gleiche Problem
Credits geht an @javierprovecho hier
servicecatalog.k8s.io/v1beta1: the server is currently unable to handle the request
Verursacht wird dies durch die noch vorhandenen Ressourcen in den namespace der namespace-controller ist nicht in der Lage zu entfernen.
Dieser Befehl (mit kubectl 1.11+) zeigen Ihnen, welche Ressourcen bleiben im Namensraum:
Sobald Sie finden und lösen und entfernen Sie die namespace aufgeräumt
unknown flag: --show-all
mit 1.14.1Abschluss der bereits große Antwort von nobar. Wenn Sie bei der Bereitstellung Ihrer cluster mit Rancher es gibt eine Einschränkung.
Rancher-Bereitstellungen ändern JEDEN api-Aufruf voranstellen
/k8s/clusters/c-XXXXX/
zu den URLs.Die id des Clusters auf rancher (
c-XXXXX
) ist etwas, was Sie leicht bekommen kann von dem Rancher UI, wie wird es da sein, auf die URL.Also, nachdem Sie sich, dass cluster-id c-xxxx, nur als nobar sagt, nur für die änderung der api-Aufruf darunter, dass rancher bit.
Die einzige Möglichkeit, die ich gefunden, um entfernen "
terminating
" namespace wird durch löschen des Eintrags in der "Finalizer" Abschnitt. Ich habe versucht, zu--force
löschen und zu--grace-period=0
keiner von Ihnen gearbeitet, aber diese Methode hat:Befehlszeile-Anzeige der info aus dem namespace:
Dies wird Ihnen yaml-Ausgabe suchen Sie nach einer Zeile, die etwa so aussieht:
Dann Bearbeiten Sie einfach die namespace-Konfiguration und löschen Sie die Elemente im inneren, dass Finalizer container.
Dies wird öffnen Sie einen editor (in meinem Fall VI), ging über die Linie wollte ich löschen und es gelöscht, ich drückte die D-Taste zweimal, um die gesamte Zeile löschen.
Speichern Sie es, Ihren editor beenden, und wie magic. Die rogue-namespace sollte Weg sein.
Und bestätigen es nur:
Darauf hingewiesen werden, dass es möglicherweise verwaiste Ressourcen noch danach.