OpenCost Deployment for Kubernetes Billing
Use this section to deploy the OpenCost components required for Kubernetes Billing cost exports.
info
- Audience: Cloudaware administrators, platform/DevOps engineers, and FinOps teams
- Outcome: OpenCost exports are continuously written to cloud object storage for ingestion by Kubernetes Billing
Prerequisites
Before you begin, make sure you have:
- Kubernetes cluster(s) where you plan to enable Kubernetes Billing.
- Access to create/update namespaces, Deployments, Services, and ConfigMaps.
- Access to the target cloud storage location (S3 bucket, Azure Blob container, or GCS bucket) used for Parquet exports.
- Network egress from the cluster to the target cloud storage endpoint.
Architecture
- OpenCost runs in-cluster and uses Prometheus as its data source.
- A Parquet exporter component reads OpenCost data and writes Parquet files to object storage((S3/Blob/GCS)).
- Cloudaware Kubernetes Billing integrations read those Parquet exports per provider and cluster/prefix.
tip
Keep a consistent namespace and labeling scheme for OpenCost components across clusters to simplify operations.
High-Level Setup Flow
For each provider, deployment follows the same flow:
- Configure cloud storage.
- Configure identity and permissions.
- Connect to the cluster (if needed).
- Deploy or reuse Prometheus.
- Deploy OpenCost.
- Deploy the Parquet exporter.
- Validate the deployment.