Overview
The Cost Allocation page in Komodor gives you precise insight into how your Kubernetes infrastructure spend is distributed - by cluster, namespace, or service.
This breakdown helps you answer questions like:
- Where is my money going?
- Which services are over-provisioned?
- What’s unallocated - and why?
By combining this visibility with Komodor’s optimization capabilities, you can immediately identify savings opportunities and ensure efficient cloud usage.
Key Concepts
Glossary
Capacity
The total amount of CPU and memory resources available on a node, as reported by the kubelet.
Allocated
The portion of allocatable resources that workloads have requested via resources.requests. This represents the planned resource share for each pod.
Unallocated
The difference between the capacity and allocated resources. These are the resources available but not yet requested by workloads.
Cost Attribution
Costs are calculated using the cloud provider pricing (AWS, GCP, Azure), aligned with:
- Node metadata (instance type, region, lifecycle)
- Resource allocation (CPU/memory requests)
- Workload metadata (namespace, labels, service associations)
Allocation Engine Logic
Komodor’s backend runs a continuous cost allocation job that:
- Fetches current pod-to-node mappings
- Applies resource requests (not usage) for attribution
- Normalizes GPU, CPU, memory cost splits
- Handles complex mapping logic like:
- DaemonSets (pro-rated across nodes)
- Unscheduled or evicted pods (excluded)
- Headroom pods (labeled and excluded from optimization metrics)
Cost Allocation Dashboard
As part of the report-like nature of the Allocation dashboard, you can slice and dice it based on your needs, and get the high level picture of your allocation status across all clusters.
Allocation Table Explained
Each row in the table provides:
| Column | Description |
| Cluster | The Kubernetes cluster the workload is running on. |
| Namespace | The namespace where the workload is deployed. |
| Workload / Service | The actual workload name (e.g., Deployment, StatefulSet, CronJob) or the service if mappable. |
| CPU Requests (cores) | CPU resource requests configured for this workload. |
| Memory Requests (GB) | Memory resource requests configured. |
| Allocated Cost ($) | Total real cost attributed to this workload based on its requests. |
Unallocated Costs
Not all spend can be allocated right away. Komodor considers them as the cost of resources not currently associated with any pod, or resources reserved for system processes.
Unallocated resources will be displayed as a column when grouping by cluster, or an aggregated, additional row when grouping by namespace or service git.
Optimization Score
Komodor assigns an Optimization Score per workload:
- Indicates how efficient the allocation is
- Incorporates resource requests vs actual usage
Use this score to prioritize what to optimize next.
Best Practices
- Use Filters to Scope Insights
Filter by cluster, namespace, or workload to isolate specific cost centers. - Fix Unallocated Resources
Tag your workloads and services consistently to reduce unallocated spend. - Automate Optimizations
From this view, you can jump directly to:- Enable Automated rightsizing
- Enable Smart Pod Placement
- Export the Table
Use the export button to share the allocation data with your FinOps or engineering teams.
Comments
0 comments
Please sign in to leave a comment.