There seem to be a few different ways for deploying prometheus to monitor your K8s cluster, mainly through Prometheus Operator or through creating the manifests and managing all details of the deployment yourself.
What is the preferred industry best practice when deploying Prometheus and Grafana to monitor a K8s cluster?
The use case is to monitor resource usage on a cluster level, node level, and pod level.
It depends on what all you want to deploy to monitor the cluster. If you just wantt to collect metrics and want to setup various dashboards then you don't need prometheus operator. Just deploy prometheus, Grafana, nodeexporter to collect node metrics, kube state metrics to collect cluster metrics and that is all.
But if you want to define thresholds on the metrics that you are going to collect and need to take an action when the metrics exceed the ltgreshold limits then you are going to need kind of alerting solution for your cluster. This is where the prometheus operator fits. It bundles monitoring and alerting solution and can be plugged into your cluster on-demand with little bit of configuration