Requirement:
Users need to know which type of VMs their pods are running. i.e. users wanna verify pods are running on GPU VMs
Solution:
In Prometheus, we have 2 metrics: kube_pod_info{} and kube_node_lables{}
kube_node_labels often has a label to tell which type of VM it is.
We can use "node" to join these 2 metrics to provide a report to users
sum( kube_pod_info{}) by(pod,node) *on(node) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels{}) by (node,label_beta_kubernetes_io_instance_type)
Please refer official promQL doc
Tip: create grafana API for it:
curl -g -k -H "Authorization: Bearer ******" https://grafana.testtest.com/api/datasources/proxy/1/api/v1/query?query=sum\(kube_pod_info{}\)by\(pod,node\)*on\(node\)group_left\(label_beta_kubernetes_io_instance_type\)sum\(kube_node_labels{}\)by\(node,label_beta_kubernetes_io_instance_type\)
Als refer my blog how to convert promQL into grafana API call
No comments:
Post a Comment