I also would like to know this, I was just told that databases should be outside the cluster a couple days ago by someone with a decade of K8s experience.
Well, CloudnativePG exists and it works really really well. At some point if you can afford to have someone manage your databases separately from your applications, you can think about putting it outside the cluster but I'd wager at some point you've got enough experience with running your DB with an operator that you can keep running it in the cluster.