The Kubernetes bill arrives as one number. The cluster is shared. Ten teams run on it. And when finance asks "who is spending this," the honest answer in most orgs is a shrug. That shrug is the single biggest reason Kubernetes cost never gets fixed: nobody owns a number they cannot see.
I have built cost attribution on a shared cluster the messy, real-world way, without a perfect tagging scheme, because you never get a perfect tagging scheme. Here is what actually works.
Why the cloud bill can't answer this
Your cloud provider bills you for nodes (EC2, GCE, VMs). It has no idea that node ran 40 pods belonging to 6 teams. The unit of cloud billing is the instance; the unit of Kubernetes work is the pod. Attribution is the job of translating node cost down to pod cost and back up to whoever owns the pod. Nothing in the raw cloud bill does that for you.
So the goal is: split each node's cost across the pods that ran on it, by how much of the node they actually used, then group those pods by owner.






