For example, I want to find all the clusterroles with any label containing the word prometheus in the label value.
Here is what I know to do so far:
mark@D-LP0003:~$ kubectl get clusterrole --show-labels | grep prometheus
prometheus 2020-09-15T17:56:31Z app=prometheus,chart=prometheus-11.7.0,component=server,heritage=Helm,release=prometheus
prometheus-grafana-clusterrole 2020-09-15T17:46:55Z app.kubernetes.io/instance=prometheus,app.kubernetes.io/managed-by=Helm,app.kubernetes.io/name=grafana,app.kubernetes.io/version=7.1.5,helm.sh/chart=grafana-5.6.5
prometheus-kube-prometheus-prometheus 2020-09-15T17:46:55Z app.kubernetes.io/managed-by=Helm,app=kube-prometheus-stack-prometheus,chart=kube-prometheus-stack-9.4.2,heritage=Helm,release=prometheus
prometheus-kube-prometheus-prometheus-psp 2020-09-15T17:46:55Z app.kubernetes.io/managed-by=Helm,app=kube-prometheus-stack-prometheus,chart=kube-prometheus-stack-9.4.2,heritage=Helm,release=prometheus
prometheus-kube-state-metrics 2020-09-15T17:46:55Z app.kubernetes.io/instance=prometheus,app.kubernetes.io/managed-by=Helm,app.kubernetes.io/name=kube-state-metrics,helm.sh/chart=kube-state-metrics-2.8.14
psp-prometheus-kube-state-metrics 2020-09-15T17:46:55Z app.kubernetes.io/instance=prometheus,app.kubernetes.io/managed-by=Helm,app.kubernetes.io/name=kube-state-metrics,helm.sh/chart=kube-state-metrics-2.8.14
psp-prometheus-prometheus-node-exporter 2020-09-15T17:46:55Z app.kubernetes.io/managed-by=Helm,app=prometheus-node-exporter,chart=prometheu -node-exporter-1.11.2,heritage=Helm,jobLabel=node-exporter,release=prometheus
system:prometheus 2020-09-23T01:24:32Z app=prometheus
mark@D-LP0003:~$
But I wonder if this is the best I can do? Because if I want just to get the names of the objects, then I need to do further shell processing instead of using kubectl get facilities for that (like -o name or jsonpath), even though it is as simple as piping to cut -d' ' -f1