Skip to main content
CostGraph groups nodes into the pools that your cluster platform manages. It uses the pool to show recommendations, savings, and capacity for each group of nodes, and to propose changes to the pool.

How CostGraph recognises a pool

CostGraph reads one label or annotation on each node. The value is the pool name. To check that CostGraph can see a pool, run kubectl get node <name> --show-labels and look for the key in the following table. For OKE, check annotations instead with kubectl get node <name> -o jsonpath='{.metadata.annotations}'. When a node carries more than one of these keys, CostGraph uses the first match in the table order. A node without any of them is not part of a pool.

What AutoPilot does with each pool

CostGraph does not edit a pool that it did not create. See Karpenter node pools for how CostGraph creates and manages its own pools.

How CostGraph reads spot capacity

CostGraph reads whether a node runs on spot or on-demand capacity from these labels. Every other node counts as on-demand.

Next steps