Skip to main content

Frequently Asked Questions

How does K8Cost connect to my cluster?

K8Cost offers two connection methods. The recommended approach is the agent push model: a lightweight CronJob runs inside your cluster and pushes metrics outbound to the K8Cost API over HTTPS. This requires no inbound network access to your cluster and works behind any firewall.

Alternatively, you can use the kubeconfig pull model, where K8Cost connects directly to your cluster's API server using an uploaded kubeconfig file. This is simpler to set up for testing but requires inbound access to your API server.

See Connect a Cluster for details on both methods.

Is my data secure?

Yes. The K8Cost agent uses a read-only ClusterRole -- it cannot modify any resources in your cluster. Authentication uses revocable API tokens sent over HTTPS. Kubeconfig files uploaded for pull-based sync are encrypted at rest using AES-256-GCM.

K8Cost collects resource metadata (pod specs, node capacity, resource requests and limits, usage metrics) but does not access container logs, environment variables, secrets, or application data.

For organizations with strict data residency requirements, K8Cost offers a self-hosted deployment option where all data stays on your infrastructure.

Which cloud providers do you support?

K8Cost supports AWS EKS, GCP GKE, Azure AKS, and on-premise clusters (bare metal, k3s, kubeadm, Rancher, OpenShift, Talos, etc.). Each provider has region-specific pricing data for accurate cost calculations.

For on-premise clusters, K8Cost uses configurable per-core and per-GB rates that you can set to match your actual infrastructure costs.

What is included in the free plan?

The free plan includes the complete K8Cost platform -- all 27 dashboard pages, all 65+ optimization rules, GitOps export, anomaly detection, chargeback, budgets, reports, alerts, and API access. The only limitation is scale: 1 cluster with up to 3 nodes.

The free plan does not expire. It is a permanent option, not a time-limited trial.

How accurate are the cost estimates?

K8Cost uses your cloud provider's published on-demand pricing for the specific instance types and regions where your nodes run. For AWS, this means EC2 per-hour rates by instance type. For GCP, Compute Engine per-second rates by machine type. For Azure, VM per-hour rates by VM size.

Cost accuracy depends on how closely on-demand pricing reflects your actual rates. If you use Reserved Instances, Savings Plans, or Committed Use Discounts, the actual cost may be lower than the on-demand estimate. K8Cost tracks commitment coverage in the Commitments dashboard to help you account for this.

For on-premise clusters, accuracy depends on the custom rates you configure. We recommend using a blended rate that includes hardware amortization, power, cooling, and facility costs.

Can I customize the rules?

The K8Cost rules engine uses YAML-based rulesets that you can inspect and understand. Each rule has configurable thresholds, severity levels, and enable/disable toggles. You can enable or disable individual rules and entire rulesets from the Rules page in the dashboard.

On paid plans, you can adjust rule thresholds to match your organization's risk tolerance -- for example, raising the CPU over-provisioning threshold from 2x to 3x if your workloads have bursty traffic patterns.

How do I upgrade my plan?

Navigate to Settings > Pricing in the dashboard. Select your desired plan and complete checkout through Stripe. The upgrade takes effect immediately -- your new cluster and node limits are available right away.

You can manage your subscription, update payment methods, and download invoices through the Stripe customer portal, accessible from the Settings page.

Does K8Cost work with Helm and Kustomize?

Yes. K8Cost generates GitOps patches in five formats: plain YAML, Helm values overrides, Kustomize overlays, JSON Patch (RFC 6902), and Kubernetes Strategic Merge Patch. When exporting recommendations, K8Cost suggests the appropriate format based on your cluster's deployment metadata.

How often does the agent collect data?

The agent runs on a configurable schedule. The default is hourly (0 * * * *), which works well for most clusters. You can adjust this to run more frequently (every 30 minutes for active clusters) or less frequently (daily for stable environments).

Each agent run collects the current state, evaluates rules, and pushes results. The process typically takes 1-3 minutes for clusters with up to 500 pods.

Can I use K8Cost with multiple clusters?

Yes. Each cluster gets its own agent deployment and appears as a separate entity in the dashboard. You can view data per-cluster or aggregated across all clusters using the global cluster selector.

Your plan determines how many clusters and nodes you can connect. See Pricing for the limits on each plan.