If a namespace is stuck in terminating stage

Please do not remove the finalizer, it is there for a reason. Try to instead find out which resources in the NS are pending deletion by:

  • Checking if any apiservice is unavailable and hence doesn’t serve its resources: kubectl get apiservice|grep False
  • Finding all resources that still exist via kubectl api-resources –verbs=list –namespaced -o name | xargs -n 1 kubectl get -n $your-ns-to-delete 
  • The solution to this problem is not to short-circuit the cleanup mechanism, its to find out what prevents cleanup from succeeding.