Cost Monitoring & Insights with Kubecost & Infracost

Description

Kubecost helps you monitor and manage cost and capacity in Kubernetes environments. We integrate with your infrastructure to help your team track, manage, and reduce spend.

Below are the major components deployed with the Kubecost helm chart, excluding certain Enterprise components such as durable storage:

  1. Kubecost Cost-Analyzer Pod
    a. Frontend – runs Nginx and handles routing to Kubecost backend + Prometheus/Grafana
    b. Cost-model – provides cost allocation calculations and metrics, both reads and writes to Prometheus
  2. Prometheus
    a. Prometheus server – time-series data store for cost & health metrics
    b. Kube-state-metrics – provides Kubernetes API metrics, e.g. resource requests
    c. Node-exporter – provides node-level utilization metrics for right-sizing recommendations and cluster utilization
    d. Pushgateway – provides the ability for users to push new metrics to Prometheus [Optional]
    e. Alertmanager – used for custom alerts [Optional]
  3. Network costs – used for determining network egress costs learn more
  4. Grafana – provides supporting dashboards for Kubecost product [Optional]

Today, the core Kubecost product can be run with just components 1, 2a, and 2b.

Kubecost interacts with provider pricing in a few different ways.

  • onDemand Rates (AWS, Azure, GCP, and Custom Pricing CSV)
  • Negotiated Rates (Azure, GCP, and Custom Pricing CSV)
  • Spot Data Feed (AWS)
  • Cloud Provider Billing for Reconciliation and Out-of-Cluster Spend
    • AWS Cost and Usage Report
    • Azure Cost Export
    • Google BigQuery Export

In a Enterprise federated setup, only the Primary Kubecost Cluster needs access to the Cloud Provider Billing.

Tutorial Bar
Logo