Aller au contenu principal

kubernetes namespace as terminating stuck, Obtain the API descriptions that are not deleted

Vous avez supprimé un namespace kubernetes et il est resté en mode terminating. Si une extension d'API Kubernetes n'est pas disponible, les ressources gérées par l'extension ne peuvent pas être…

coolibra08 juil. 2026522 vues

Vous avez supprimé un namespace kubernetes et il est resté en mode terminating.

Si une extension d'API Kubernetes n'est pas disponible, les ressources gérées par l'extension ne peuvent pas être supprimées. L'échec de la suppression de l'extension d'API entraîne l'échec de la suppression du namespace.

 

Etapes:

  • Recurper le nom du namespace qui est en terminating
kubectl get ns

 

  • Trouver les ressources qui ne sont pas supprimées (juste pour avoir un peu plus de détails) :
kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n <terminating-namespace>

 

  • Executer ce script en remplaçant le nom du namespace dedans
python3 -c "namespace='<my-namespace>';import atexit,subprocess,json,requests,sys;proxy_process = subprocess.Popen(['kubectl', 'proxy']);atexit.register(proxy_process.kill);p = subprocess.Popen(['kubectl', 'get', 'namespace', namespace, '-o', 'json'], stdout=subprocess.PIPE);p.wait();data = json.load(p.stdout);data['spec']['finalizers'] = [];requests.put('http://127.0.0.1:8001/api/v1/namespaces/{}/finalize'.format(namespace), json=data).raise_for_status()"

 

 

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.