当值不存在时,默认求和运算符为 0
Default sum operator to 0 when values dont exist
我正在使用以下查询来计算我们的 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"
,因此第一个求和运算符 returns 是一个值。
当集群没有可抢占节点时失败,因为没有节点具有 label_cloud_google_com_gke_preemptible = "true"
,因此第一个总和 returns 没有值
是否可以修改查询,使第一个总和 returns 变成 0 值?
如果一个值不存在,您可以使用 or
插入一个值:
(
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
or
vector(0)
)
+
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
我正在使用以下查询来计算我们的 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"
,因此第一个求和运算符 returns 是一个值。
当集群没有可抢占节点时失败,因为没有节点具有 label_cloud_google_com_gke_preemptible = "true"
,因此第一个总和 returns 没有值
是否可以修改查询,使第一个总和 returns 变成 0 值?
如果一个值不存在,您可以使用 or
插入一个值:
(
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
or
vector(0)
)
+
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