OpenCost is an open-source cost allocation engine and specification for Kubernetes, released under Apache 2.0. It started at Kubecost, joined the CNCF Sandbox in 2022 and moved to Incubating in October 2024. It defines how to turn node prices and container resources into workload costs, and that definition is good: Kubeadapt's model follows it. So this is a choice between running an open-source engine yourself and using a hosted product.
The short version
- Choose OpenCost if you want a free, open, vendor-neutral engine you can run, extend and embed, especially if you already run Prometheus and Grafana, or your data has to stay in your cluster.
- Choose Kubeadapt if you want the answers without operating the stack: multi-cluster views, team showback, recommendations, alerts and history as a service, with a model that follows OpenCost's rules.
Feature checklist
Each row was checked against OpenCost's own documentation and Kubeadapt's docs on the review date. "Not documented" means we couldn't find it in OpenCost's documentation; it doesn't mean the feature is missing.
| OpenCost | Kubeadapt | |
|---|---|---|
| Runs as | Self-hosted in your cluster (Helm); no SaaS | Hosted SaaS in the EU; one agent per cluster, installed with Helm |
| Runs without a Prometheus server | PartlyPrometheus is a documented prerequisite; an opt-in collector in the Helm chart runs without it | Yesone agent; metrics-server is needed for rightsizing |
| Cost by namespace and workload | Yescontainer to cluster, by label and annotation | Yescluster, namespace, workload, node, pod and container |
| Cost by team (labels or manual assignment) | Yeslabel and annotation aggregation | Yeslabels or manual assignment; split across up to 10 teams |
| Idle and shared cost handling | Partlythe specification defines idle and shared-cost methods | YesFully Loaded (spread) or Workload Only views |
| Reconciles with the cloud bill | Partlylist prices for allocation; a separate cloud-costs feature reads AWS, Azure and GCP billing | Nopublic prices, plus AWS Savings Plans and reservations from a connected account |
| Rightsizing recommendations | Nomeasurement only (recommendations are a Kubecost feature) | Yesrequests and limits per container, with a YAML patch |
| Applies rightsizing automatically | Not documented | Noby design; changes go through your own review |
| Node autoscaling or bin-packing | Not documented | Norecommends a node layout; doesn't change nodes |
| Spot instance automation | Not documented | Nospot-readiness score per workload; doesn't move workloads |
| Network cost per workload | Partlynetwork cost labels and NAT gateway support in release notes; collection method not documented | YeseBPF at each pod's interface: cross-zone, NAT gateway and internet egress per workload |
| Carbon reporting | YesCloud Carbon Footprint coefficients | YesCloud Carbon Footprint method; excludes embodied carbon |
| MCP server for AI tools | Yesbuilt-in, in-cluster; no authentication documented | Yeshosted, 23 read-only tools, OAuth sign-in with SSO |
| FOCUS export | Not documented | YesFOCUS 1.4 as CSV or Parquet, or through the API |
Where OpenCost is stronger
It's free and open. No licence, no vendor, no data leaving your environment. You can read and change every line of the code that computes your costs.
It's a standard. The specification gives you a shared vocabulary with vendors and other tools. Other products, Kubeadapt included, build on it.
It's composable. Cost metrics land in Prometheus next to everything else, so Grafana dashboards and alerts work the way you already work. Plugins bring in external costs.
Where Kubeadapt is stronger
You don't operate it. No Prometheus retention to size, no long-term storage, no dashboards to maintain, no upgrades to schedule.
It goes past measurement. Rightsizing that accounts for OOM history and HPAs, spot readiness, orphaned volumes and budget alerts, each with its saving and a patch to review. Nothing is applied for you.
Organization-wide views. Every cluster in one organization, teams and departments, finalized monthly reports and role-based access.
Hosted AI access with permissions. Kubeadapt MCP is one hosted URL with sign-in through your account and SSO, scoped to what each person can see.
Using both
They aren't exclusive. Some teams keep OpenCost for engineers who live in Grafana and use Kubeadapt for organization-wide reporting and recommendations. Because both follow the same allocation rules, workload numbers should broadly agree; differences usually come from pricing or how idle and shared costs are treated (how Kubeadapt computes costs). Get started.

