Skip to main content

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:

  1. Configure cloud storage.
  2. Configure identity and permissions.
  3. Connect to the cluster (if needed).
  4. Deploy or reuse Prometheus.
  5. Deploy OpenCost.
  6. Deploy the Parquet exporter.
  7. Validate the deployment.

Provider Runbooks