Я использую следующий запрос для расчета стоимости узлов в нашем кластере GKE (добавлены новые строки для удобства чтения)
sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = "true"
}
) * 5.10 +
sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = ""
}
) * 16.95
Это работает, если в кластере есть выгружаемые узлы, потому что есть хотя бы один узелс label_cloud_google_com_gke_preemptible = "true"
, и, следовательно, первый оператор сумм возвращает значение.
СБОЙ, когда в кластере нет НИКАКИХ предполагаемых узлов, потому что нет узла с label_cloud_google_com_gke_preemptible = "true"
, и, следовательно, первая сумма не возвращает значения
Можно ли изменить запрос так, чтобы первая сумма вместо него возвращала значение 0?