|
34 | 34 | } +
|
35 | 35 | if $._config.showMultiCluster then {
|
36 | 36 | expr: |||
|
37 |
| - (count(kube_node_info) == 1 |
| 37 | + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - |
| 38 | + 0.85 * sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) > 0 |
38 | 39 | and
|
39 |
| - sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - |
40 |
| - sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) > 0) |
| 40 | + count by (cluster) (max by (cluster, node) (kube_node_info)) == 1) |
41 | 41 | or
|
42 | 42 | (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) -
|
43 | 43 | (sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) -
|
|
51 | 51 | },
|
52 | 52 | } else {
|
53 | 53 | expr: |||
|
54 |
| - (count(kube_node_info) == 1 |
| 54 | + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - |
| 55 | + 0.85 * sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) > 0 |
55 | 56 | and
|
56 |
| - sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - |
57 |
| - sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) > 0) |
| 57 | + count(max by (node) (kube_node_info)) == 1) |
58 | 58 | or
|
59 | 59 | (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) -
|
60 | 60 | (sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) -
|
|
79 | 79 | } +
|
80 | 80 | if $._config.showMultiCluster then {
|
81 | 81 | expr: |||
|
82 |
| - (count(kube_node_info) == 1 |
| 82 | + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - |
| 83 | + 0.85 * sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) > 0 |
83 | 84 | and
|
84 |
| - sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - |
85 |
| - sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) > 0) |
| 85 | + count by (cluster) (max by (cluster, node) (kube_node_info)) == 1) |
86 | 86 | or
|
87 | 87 | (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) -
|
88 | 88 | (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) -
|
|
96 | 96 | },
|
97 | 97 | } else {
|
98 | 98 | expr: |||
|
99 |
| - (count(kube_node_info) == 1 |
| 99 | + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - |
| 100 | + 0.85 * sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) > 0 |
100 | 101 | and
|
101 |
| - sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - |
102 |
| - sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) > 0) |
| 102 | + count(max by (node) (kube_node_info)) == 1) |
103 | 103 | or
|
104 | 104 | (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) -
|
105 | 105 | (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) -
|
|
0 commit comments