2.1 (latest)
Search
K
Links

Kubecost Core Architecture Overview

Below are the major components deployed with the Kubecost Helm chart, excluding certain Enterprise components such as durable storage:
  1. 1.
    Kubecost Cost-Analyzer Pod
    1. 1.
      Frontend: Runs Nginx and handles routing to Kubecost backend and Prometheus/Grafana
    2. 2.
      Cost-model: Provides cost allocation calculations and metrics, both reads and writes to Prometheus
  2. 2.
    Prometheus
    1. 1.
      Prometheus server: Time-series data store for cost and health metrics
    2. 2.
      Kube-state-metrics (optional): Provides Kubernetes API metrics, e.g. resource requests
    3. 3.
      Node-exporter (optional): Provides metrics for reserved instance recommendations, various Kubecost Grafana dashboards, and cluster health alerts
    4. 4.
      Pushgateway (optional): Provides the ability for users to push new metrics to Prometheus
    5. 5.
      Alertmanager (optional): Used for custom alerts
  3. 3.
    Network costs (optional): used for determining network egress costs. See our Network Traffic Cost Allocation doc for more information.
  4. 4.
    Grafana (optional): Provides supporting dashboards for Kubecost product
Today, the core Kubecost product can be run with just components 1 and 2.1. See an overview of core components in this diagram:
Architecture Overview

Provider Pricing Architecture Overview

Kubecost interacts with provider pricing in a few different ways:
In an Enterprise federated setup, only the Primary Kubecost Cluster needs access to the Cloud Provider Billing.
Provider Pricing Overview

Enterprise Architecture Overview

As of Kubecost v2.0, Aggregator is the primary query backend for Kubecost using a federated ETL setup. Below is a high-level reference for the required components. More detail about these components can be found in our Federated ETL documentation.
Architecture Overview