# OpenCost — Real-Time Kubernetes Cost Monitoring > Monitor and allocate Kubernetes infrastructure costs in real time. A CNCF sandbox project that gives teams visibility into cluster spend by namespace, pod, and label. ## Install Save as a script file and run: # OpenCost — Real-Time Kubernetes Cost Monitoring ## Quick Use ```bash helm repo add opencost https://opencost.github.io/opencost-helm-chart helm install opencost opencost/opencost --namespace opencost --create-namespace kubectl port-forward -n opencost svc/opencost 9090:9090 # Open http://localhost:9090 for the cost dashboard ``` ## Introduction OpenCost is a CNCF sandbox project that provides real-time cost monitoring for Kubernetes clusters. It allocates infrastructure spend to namespaces, deployments, pods, and labels so engineering and finance teams can see exactly where cloud dollars go. ## What OpenCost Does - Tracks CPU, memory, storage, and network costs per Kubernetes workload - Allocates shared costs like control plane and load balancers across tenants - Integrates with cloud billing APIs from AWS, GCP, and Azure for accurate pricing - Exposes a REST API and Prometheus metrics for cost data consumption - Provides a built-in web dashboard for quick cost exploration ## Architecture Overview OpenCost runs as a single Go pod that queries the Kubernetes API for resource usage and correlates it with cloud provider pricing data. It pulls on-demand and spot pricing from AWS Cost and Usage Reports, GCP BigQuery billing exports, or Azure rate cards. The cost model is exposed as Prometheus metrics and a JSON API, making it easy to build Grafana dashboards or feed data into FinOps platforms. ## Self-Hosting & Configuration - Deploy via Helm chart into any Kubernetes cluster running Prometheus - Configure cloud provider integrations by setting billing API credentials - Set custom CPU and memory pricing for on-prem or bare-metal clusters - Adjust shared cost allocation weights via the cost model configuration - Expose the API externally or scrape metrics with an existing Prometheus stack ## Key Features - CNCF-backed open standard for Kubernetes cost monitoring - Real-time cost allocation by namespace, label, controller, and pod - Native Prometheus metrics integration for alerting and dashboards - Multi-cloud pricing support including spot and reserved instances - Lightweight single-pod deployment with no external database required ## Comparison with Similar Tools - **Kubecost** — Commercial product built on top of OpenCost; OpenCost is the free open-source engine - **Infracost** — Estimates IaC costs before deploy; OpenCost monitors live runtime spend - **Cloud provider cost dashboards** — Aggregate billing only; OpenCost maps costs to Kubernetes objects - **Prometheus + custom queries** — Requires building cost models manually; OpenCost provides them out of the box ## FAQ **Q: Is OpenCost the same as Kubecost?** A: OpenCost is the open-source cost allocation engine that Kubecost originally created and donated to the CNCF. Kubecost adds a commercial UI and advanced features on top. **Q: Does it work with on-prem Kubernetes clusters?** A: Yes. You can configure custom CPU, memory, and storage rates for clusters without cloud billing APIs. **Q: What Prometheus setup is needed?** A: OpenCost works with any Prometheus-compatible stack. It can run its own bundled Prometheus or connect to an existing one. **Q: Can I see costs per team or product?** A: Yes. Use Kubernetes labels and namespaces to group costs, then query by those dimensions via the API or dashboard. ## Sources - https://github.com/opencost/opencost - https://www.opencost.io/docs --- Source: https://tokrepo.com/en/workflows/8d0547be-3974-11f1-9bc6-00163e2b0d79 Author: Script Depot