Skip to content
This repository has been archived by the owner on Feb 2, 2024. It is now read-only.

Latest commit

 

History

History
34 lines (23 loc) · 2.03 KB

architecture.md

File metadata and controls

34 lines (23 loc) · 2.03 KB

Kubecost Core Architecture Overview

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. Kubecost server -- backend for API calls
    c. 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 -- optional DaemonSet for collecting network metrics learn more
  4. Grafana -- provides supporting dashboards for Kubecost product [Optional]

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

See an overview of core components in this diagram:

Architecture Overview

Enterprise architecture overview

The most common implementation of durable storage in the Kubecost application is with Thanos. Below is a high-level reference for the required components. More information on each Thanos component can be found here.

Thanos Overview

Edit this doc on GitHub