Creating CRDs in multitenancy environments

Hello everyone, I have been looking into multitenancy solutions for k8s, specially solutions like capsule. I know that capsule does not ensure isolation to any CRD that is created in the cluster. What I was wandering is if there is any solution to this problem that does not envolve virtualizing the control plane for each tenant. What immediately came to mind was appending the name of the tenant to the CRD that the user is trying to create. But I quickly realized that this approach would not work for things like Prometheus, or other extensions that require installing CRDs as their controllers are looking for a CRD with a specific name. I am quite new to k8s so is there any other solution that I am not quite seeing or is it too much trouble to find a solution for this problem.