Kubernetes
Understanding the cost of your containerized workloads
CloudZero combines container usage data with your cloud provider costs to give you accurate allocation of costs within a Kubernetes cluster. Pod CPU and memory usage are automatically correlated with costs to give you detailed breakdowns of real cost by cluster, namespace, workload, or label down to the hour. Additionally, CloudZero doesn't require you to manually define complex rules for allocating Kubernetes costs. CloudZero uses a proprietary algorithm that automatically calculates costs based on industry best practices and our own experience working with customers.
Kubernetes Integration Methods
CloudZero supports three methods of ingesting Kubernetes data:
- Recommended: CloudZero Agent for Kubernetes
- AWS Elastic Kubernetes Service Split Cost Allocation Data (EKS SCAD)
- Google Kubernetes Engine (GKE) Cost Allocation
ECS SCAD is Not Currently Supported
CloudZero does not currently support ECS SCAD. Only EKS SCAD is supported.
The following table summarizes the differences between these methods:
Attribute | CloudZero Agent for Kubernetes | EKS SCAD | GKE Cost Allocation |
---|---|---|---|
Supported platforms | Self-managed Kubernetes, AWS EKS, Azure Kubernetes Service (AKS), Google Cloud GKE | AWS EKS only | Google Cloud GKE only |
Setup method | Install an agent on your clusters | Enable a setting in AWS | Enable a setting in GCP |
Data types collected | Resource usage data | EKS SCAD with AMP: Resource usage data, including resource requests and actual utilization. EKS SCAD without AMP: Resource usage data, including resource requests only. | Cost data |
Calculation of idle costs | Yes | Yes | No |
Supported pod labels | All | aws:eks:cluster-name , aws:eks:deployment , aws:eks:namespace , aws:eks:node , aws:eks:workload-name , aws:eks:workload-type | All |
How Automatic Cost Allocation Works
For all integration methods except GKE Cost Allocation, Kubernetes cost allocation is based on the cost of the node combined with pod-level CPU and memory usage, calculated using a custom cost model that CloudZero developed. This allows us to assign a portion of the node’s total cost to the pod. This is handled automatically in the CloudZero platform; there is no need for manual allocation rules.
Generally speaking, this proportional algorithm works across a broad range of instance types, including those with SSD, NVMe SSD, GPU cores, GPU memory, and networking enhancements.
The final result is a new way to explore your container costs over time by cluster, workload, or namespace using CloudZero. For example, we can use CloudZero to take a look at one of our clusters and see how its costs decrease as we scale down the cluster.
Cluster Idle Costs
The CloudZero platform considers an instance's CPU or memory fully utilized in a given hour if pods running on that instance used or requested (maximum of the two) an average of 75% or more of its available capacity. If a lesser amount was used, the difference is assigned to an Idle bucket representing the unused capacity of the instances comprising the cluster.
GKE Cost Allocation Limitations
Note that the GKE Cost Allocation integration method cannot provide resource usage data or calculate idle costs.
Updated 8 days ago