Kubernetes Cost Allocation

Kubernetes cost allocation per team, from your real AWS bill.

Kubalance attributes cluster spend to teams at the pod level, and calculates it from the actual amounts in your AWS Cost and Usage Report rather than from list price. Idle capacity stays its own line item, and shared services get charged back to the teams consuming them.

Read-only agent, four resourcesReal billing data, not list priceInstalled per cluster in minutes

The cluster bill arrives as one number. Accountability does not.

AWS tells you what a cluster cost. It does not tell you who spent it. Estimating from namespace proportions holds up for the first few teams, then namespaces get shared, teams spread across several of them, and the split stops matching reality. Kubalance closes that gap: every pod's cost lands on the team running it.

From install to per-team chargeback.

01

Install the agent in your cluster.

One agent, running under a read-only ClusterRole. It makes outbound connections only — nothing needs to be opened inbound to the cluster.

02

We reconcile it against your real bill.

Pod and node usage collected by the agent is joined with your AWS Cost and Usage Report, so Savings Plans, Reserved Instances and Spot discounts carry through untouched.

03

See cost per team, and what nobody requested.

Cost broken down by team, namespace and cluster; idle capacity kept as its own line item; and shared services redistributed by a rule you set.

Everything a chargeback conversation needs to stop being a negotiation.

Pod-level cost attribution

Cost is not estimated from namespace proportions. It is computed from each pod's actual resource requests and usage.

Your real bill, not list price

Figures come from the AWS Cost and Usage Report, so teams see the effective rate you actually pay after Savings Plans and Spot.

Idle capacity is a line item

Capacity nobody requested is charged to no team. It is reported separately, with the amount recoverable by consolidating nodes.

Shared-service chargeback

Set an attribution strategy per shared namespace — proportional by requested resources, or an even split across consuming teams.

Cost per team

Every team's cost with the clusters behind it, exportable as CSV for whoever owns the budget conversation.

Budget alerts

Set a monthly budget by team, namespace or cluster, and get alerted as the threshold approaches rather than after it is passed.

Multi-cluster, one view

Production and staging clusters under one tenant, each with agent health and the time it last reported.

Period comparison

See cost spikes against the previous period, with the deploy that preceded the change named in the alert.

Read-only, narrow access

Pods, nodes, namespaces and pod metrics. Logs, Secrets and container contents are out of scope.

Inside the product

Kubalance screens, from per-team cost allocation through to budget alerts.

Kubalance cost overview with allocated spend, idle spend percentage, a team chargeback table and a cost trend chart
Allocated spend, idle capacity and per-team chargeback on one screen.
Kubalance costs screen listing cost per team alongside the clusters each team runs on
Cost per team with the clusters behind it — overview, by-team and comparison views.
Kubalance cluster detail showing cluster ID, agent status and a usage breakdown by metric
Per-cluster breakdown: pod cost, idle capacity cost and shared-service cost kept separate.
Kubalance alerts screen with critical, warning and info level budget and cost alerts
Budget thresholds, cost spikes and idle nodes — each with its cause and its amount.
Kubalance settings showing shared-service cost attribution strategies and budget alert rules
Attribution strategy for shared services, and monthly budget rules per team.
Kubernetes Cost Allocation

Everything the agent can see, on one list.

An agent that has to clear a vendor review should be able to show what it does rather than describe it. The Kubalance agent runs under a read-only ClusterRole and reads exactly four resources.

  • pods — which pod runs on which node, with which resource requests
  • nodes — instance type and capacity
  • namespaces — to map teams and shared services
  • pod metrics — actual CPU and memory usage

Container contents, logs, Secrets and application traffic are all out of scope. The agent only makes outbound connections.

A namespace proportion is an estimate. It is not a bill.

Telling a team their namespace was 18% of the cluster invites an argument the moment they run their own numbers. A figure computed per pod, from the amount you were actually charged, survives that scrutiny: which pod, on which node, at which rate. Chargeback only works once it stops being disputable.

Idle capacity belongs to capacity decisions, not to whichever team happened to be scheduled nearby.

— from the Kubalance cost overview

Frequently asked questions