Storage cost
Cast AI provides visibility into storage costs as part of its comprehensive cost-monitoring capabilities for Kubernetes clusters. This dimension lets you track and analyze the costs associated with persistent volumes (PVs) and ephemeral storage in your clusters.
Overview
Storage costs can be a significant component of overall Kubernetes cluster expenses. Cast AI's storage cost monitoring helps you:
- Track and visualize storage provisioning, requested capacity, and costs across your clusters.
- Identify storage over-provisioning and optimization opportunities.
- Break down storage costs by cluster, namespace, and workload.
Supported Storage
Cast AI's storage cost monitoring feature is designed for the storage types described in the following sections. While other cloud providers or Kubernetes distributions are not currently supported, Cast AI is committed to expanding support to other major cloud providers and storage types in future releases.
GKE Persistent Volumes and Ephemeral Storage
Cast AI supports storage cost monitoring features for:
- Google Kubernetes Engine (GKE) clusters running on Google Cloud Platform (GCP)
- GCP persistent disk types used as Kubernetes persistent volumes (PVs)
- Ephemeral storage provisioned on cluster nodes
Note
While ephemeral storage is included in totals, detailed cost and requested capacity analysis is only available for persistent volumes.
Supported Persistent Disk Types
The following Google Cloud persistent disk types are supported:
String | Name | Category | Description |
---|---|---|---|
pd-standard | Standard persistent disk | HDD | Backed by standard hard disk drives (HDD). |
pd-balanced | Balanced persistent disks | SSD | Backed by solid-state drives (SSD). They are an alternative to SSD persistent disks that balance performance and cost. |
pd-ssd | SSD persistent disk | SSD | Backed by solid-state drives (SSD). |
Amazon AWS Elastic Block Store (EBS)
Default storage type when creating an Amazon EKS cluster. Cast AI supports reporting data for EBS volumes when used as Kubernetes persistent volumes (PVs) in Amazon EKS clusters.
Important limitations
- Only provisioned capacity costs are currently monitored and reported
- Additional pricing components (IOPS and throughput) are not included in cost calculations
- Only persistent volumes are supported; ephemeral storage monitoring is not yet available for EKS clusters
Supported Persistent Disk Types
The following Amazon EBS volume types are supported for capacity cost reporting:
Volume Type | Name | Category | Description |
---|---|---|---|
io2 Block Express | Amazon EBS Provisioned IOPS SSD volume | SSD | Highest performance SSD volume |
io1 | Amazon EBS Provisioned IOPS SSD volume | SSD | High-performance SSD |
gp3 | Amazon EBS General Purpose SSD volume | SSD | General purpose SSD |
gp2 | Amazon EBS General Purpose SSD volume | SSD | General purpose SSD |
st1 | Throughput Optimized HDD volume | HDD | Throughput-optimized HDD |
sc1 | Cold HDD volume | HDD | Cold storage HDD |
Metrics Tracked
Cast AI collects and reports on the following storage metrics, with availability varying by cloud provider:
Cloud provider | Provisioned persistent storage capacity | Claimed persistent storage capacity | Ephemeral storage | Storage costs |
---|---|---|---|---|
GCP (GKE) | ✓ | ✓ | ✓ | Persistent + Ephemeral |
AWS (EKS) | ✓ | ✓ | - | Persistent only (capacity costs) |
Note
For AWS EKS clusters, only provisioned capacity costs are included in storage cost calculations. IOPS and throughput costs are not currently included.
Understanding Storage Metrics
- Provisioned storage: Total storage capacity provisioned in the cluster (persistent + ephemeral).
- Claimed storage: Persistent storage capacity requested and bound to workloads.
- Over-provisioning: Difference between provisioned and claimed persistent storage.
Storage costs are calculated based on the provisioned capacity and pricing for the specific disk type.
Viewing Storage Metrics
Storage metrics are integrated throughout the Cast AI console reporting suite and available via our public APIs.
Cluster-level Reports
Cluster Dashboard
The cluster dashboard now includes a storage gauge showing the following:
- Total provisioned storage capacity (persistent + ephemeral)
- Amount of persistent storage requested by workloads
- Storage utilization metrics (based on persistent storage claims vs. total provisioned storage)
Cluster Cost
The Cluster compute cost report includes average storage costs per GiB, reflecting both persistent and ephemeral storage:
Total cost metrics in the Cluster cost report now account for storage costs, which are included in the totals:
Cluster Efficiency
The Efficiency tab has an at-a-glance Storage widget showing storage over-provisioning:
As well as a dedicated Storage section showing:
- Graphs of provisioned vs. claimed storage capacity and costs over time.
- A table of daily storage efficiency details, like cost per provisioned and requested storage, and overprovisioning information.
Workloads
Workload-level reports include:
- Storage claimed by each workload
- Associated storage costs
Detailed storage cost and requested capacity information at the workload level allow you to analyze storage requests for individual applications or services within your clusters.
The Workloads compute cost page provides a high-level summary of storage costs across all workloads:
Key features:
- Storage cost and capacity (GiB) for each workload
- Ability to filter and sort workloads based on storage requests
Individual Workload View
Clicking on a specific workload provides a detailed view of its storage requests and costs:
-
Cost Overview:
- Average daily cost per resource type, including storage:
-
Provisioned Storage Cost:
- Chart showing provisioned storage cost over time
-
Daily Compute Cost Details:
- Detailed table showing daily storage costs
- Includes storage capacity (GiB) provisioned each day
- Cost per GiB of storage
Namespaces
Detailed storage cost and requested capacity information at the namespace level allow you to analyze storage requests across different groupings within your clusters.
The Namespaces overview page provides a summary of storage costs across all namespaces:
- Storage cost and requested capacity (GiB) for each namespace
- Detailed list of namespaces with storage metrics
- Ability to filter and sort namespaces based on storage requests
Individual Namespace View
Clicking on a specific namespace provides a detailed view of its storage requests and costs.
Organization-level Reports
Organization-wide views allow you to analyze storage costs and capacity requests across all clusters in your organization. These reports offer a higher-level perspective on your Kubernetes infrastructure costs.
The organization cluster cost report gives you a comprehensive view of storage costs across all your clusters:
Key features:
- At-a-glance total storage cost for all clusters in the organization
- Storage capacity (GiB) provisioned across all clusters
- Storage capacity and cost breakdown by cluster
This breakdown helps you identify which clusters consume the most storage resources and incur the highest costs, allowing for targeted optimization efforts.
Recommendations and Best Practices
To optimize storage costs:
- Right-size your persistent volume claims (PVCs) based on actual requested and claimed capacity observed by leveraging Cast AI's reports.
- Use storage classes with the appropriate performance characteristics for your use case.
- Clean up unused PVs and PVCs.
By leveraging Cast AI's storage cost monitoring, you can gain deeper insights into your Kubernetes storage expenses and identify opportunities for optimization across both persistent and ephemeral storage resources.
Updated about 2 months ago