Manage Your Kubernetes Costs in Plural

Plural now offers built-in cost management capabilities that help you track and optimize your Kubernetes spending. The feature integrates with Kubecost to provide clear visibility into cluster costs and automated optimization through pull requests.

Michael Guarino
Michael Guarino

Table of Contents

Your Kubernetes Bills are Too Big

Running workloads on Kubernetes often leads to unexpected costs. Teams
frequently over-provision resources "just to be safe," while platform engineers
struggle to identify which services are driving up the bill. Even when cost
issues are found, fixing them usually means creating tickets that get buried in
backlogs.

The traditional solutions aren't great either. Autoscalers can unexpectedly
change resources and restart pods, while manual reviews are time-consuming and
often get postponed. What teams really need is a way to spot cost issues and fix
them without disrupting their workflows.

What's New

Plural now offers built-in cost management capabilities that help you track and
optimize your Kubernetes spending. The feature integrates with Kubecost to
provide clear visibility into metrics like average CPU and memory utilization over time (typically a week or month), resource requests vs. actual usage, and cost implications of current configurations.

Key Features

Cost Visibility

  • Monthly cost tracking for all your clusters
  • Historical cost trends
  • Namespace-level cost breakdowns to track team and service spending

Monthly cluster cost view

Namespace Cost Attribution

Namespace costs are particularly important because they typically map to
individual teams or services using your Kubernetes infrastructure. When a
namespace's costs are running high, it's usually a sign that the team is
over-provisioned and needs to optimize their resource usage.

Namespace cost breakdown

Resource Right-Sizing

Kubecost analyzes your CPU and memory utilization patterns over time (typically
a week or month) to suggest optimal resource requests. This helps identify
services that are significantly over-provisioned.

For example, we commonly see cases where developers haven't properly estimated
their resource needs, leading to unnecessary costs. The system helps identify
these cases and provides specific recommendations for tuning.

Resource optimization recommendations

Automated Optimization via Pull Requests

What sets Plural apart is our ability to automatically act on these
recommendations. For example, let's say that a service is running with 2 CPU
cores requested, but actual utilization shows it only needs 0.5 cores. When we
identify over-provisioned resources, we can:

  1. Generate a pull request that updates the exact YAML manifests that need
    tuning
  2. Apply changes across environments (dev, staging, prod) where appropriate
  3. Let the owning team review and approve the changes

This approach is more practical than using autoscalers, which can unexpectedly
change resources and restart pods without team approval. It's also more
effective than creating tickets that sit in backlogs and never get actioned.

Example PR fixing resource requests

Getting Started

You have two options for setting up cost management:

The quickest way to get started:

  1. Go to Service CatalogDevOps in Plural
  2. Select the Kubecost template
  3. This will set up both Kubecost and the Kubecost extractor

See here for more details.

2. Connect Existing Kubecost

If you already have Kubecost, you can follow the directions here to configure the connection.

Try It Out

Ready to get started with cost management?

Book a demo to try Plural.

For detailed setup instructions, check out our cost management documentation.

ComparisonsProduct