Configure pricing
- Open Settings.
- Go to Cost Showback.
- Turn on Show estimated costs.
- Set the Currency to a three-letter ISO 4217 code such as
USD,EUR, orGBP. - Enter the three rates:
- Select Save Settings.
0.04 per CPU core-hour, 0.005 per GB-hour of
memory, and 0.10 per GB-month of storage. Your own negotiated, committed-use, or spot
rates will differ, and using them is the point — the estimate is only as good as the rates
you enter.
Configure pricing in Helm values
The rates live in the settings ConfigMap, so they can be declared invalues.yaml and
reconciled like any other setting:
Where costs appear
- Dashboard — a one-line summary of total estimated spend and the biggest spender.
- Deployments — an estimated monthly cost beside each deployment, and a Sort by → Highest cost option.
- Deployment details — the deployment’s estimated cost split by CPU, memory, and storage on the General tab, with its share of total spend.
- Cluster Statistics — the full breakdown: every deployment with its per-dimension cost, share of the total, and fleet totals. The dashboard and deployment pages link here.
Before you configure pricing
With cost showback turned off, or before a rate card is filled in, the same views still report each deployment’s reserved capacity and its share of the fleet. That already answers which deployments are the largest; adding rates only puts a currency figure on it.How the estimate is calculated
A deployment is charged for the capacity it reserves, not what it happens to be using:shardCount × replicas pods. It has no separate
primary component — its top-level replica count and resources describe the shard template,
not an additional workload.
Monthly figures project the hourly rate over 730 hours, the convention every major
cloud uses.
Reserved capacity is used rather than measured consumption for two reasons. Kubernetes
holds requested capacity for a pod whether or not it is used, so a deployment that reserves
four cores denies those cores to everything else even while idle. And a reserved figure is
stable between reads, which makes it defensible as a chargeback basis in a way that a
fluctuating usage sample is not.
What the total excludes
The fleet total is a floor on real spend, not a reconciliation of your cloud bill. It does not include:- Idle cluster capacity — nodes you pay for but no deployment has reserved.
- The managed control-plane fee — for example the per-cluster hourly charge on EKS or GKE.
- Load balancers, ingress, and network egress.
- Backup object storage and volume snapshots.
- The Admin Server, Admin UI, KubeBlocks, and other platform components.
Deployments with no resource requests
A deployment that sets no CPU or memory requests prices at zero, because there is nothing to attribute cost to. The Admin UI flags this rather than presenting it as free — it almost always means the deployment should have had requests set. See Scaling to add them.Who can see costs
Cost visibility follows deployment visibility: each cost view requires the same permission as the deployment view it corresponds to.
Both are scoped by namespace, so a role restricted to one team’s namespaces sees that
team’s spend and nothing else. A deployment’s reported share of total spend is also
calculated only across the namespaces the caller can list, so it never reveals the size of
spend elsewhere in the cluster.