Follow the steps mentioned in How to force delete a Kubernetes Namespace to cleanup the namespace.
After following the document if you find that Custom CRDs are not getting deleted, even after deleting the namespace then follow the below steps:
Perform a kubectl get crd -A -o jsonpath='{.items[*].metadata.finalizers' to check if the delete operation is in deadlock with finalizers set on the CRDs.
In that case, you can perform the following:
$ kubectl patch crd <custom-resource-definition-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge
$ kubectl delete crd <custom-resource-definition-name> -n <namespace>
If you are not able to delete CRDs by following the above procedure then manually edit the CRD by using below command and delete the finalizer section from the CRDs, so that it gets deleted directly.
$ kubectl edit crd <CRD-Name>
To do a mass delete of all resources in your current namespace context, you can execute the kubectl delete command with the -all flag.
$ kubectl delete --all
To delete all resources from a specific namespace use the -n flag.
$ kubectl delete -n <namespace-name> --all
To delete all resources from all namespaces we can use the -A flag.
$ kubectl delete -A