Secondary Clusters Guide

Secondary clusters use a minimal Kubecost deployment to send their metrics to a central storage-bucket (aka durable storage) that is accessed by the primary cluster to provide a single-pane-of-glass view into all aggregated cluster costs globally. This aggregated cluster view is exclusive to Kubecost Enterprise.

Kubecost's UI will appear broken when set to a secondary cluster. It should only be used for troubleshooting.

This guide explains settings that can be tuned in order to run the minimum Kubecost components to run Kubecost more efficiently.

See the Additional resources section below for complete examples in our GitHub repo.

Kubecost

Disable unnecessary containers/pods on secondary clusters.

--set federatedETL.federatedCluster=true
--set federatedETL.agentOnly=true

Grafana

Grafana is not needed on secondary clusters.

--set global.grafana.enabled=false
--set global.grafana.proxy=false

Prometheus

Kubecost and its accompanying Prometheus collect a reduced set of metrics that allow for lower resource/storage usage than a standard Prometheus deployment.

--set prometheus.server.retention=2d

Node-Exporter

Node-exporter is disabled by default. You should keep it this way if cluster/node right-sizing recommendations are not required.

Node-exporter must remain disabled if there is an existing DaemonSet. More info here.

Additional resources

You can find complete installation guides and sample files on our repo.

Additional considerations for properly tuning resource consumption is here.

Last updated