AWS EKS
K8Cost integrates with Amazon EKS to provide accurate cost analysis using AWS-specific pricing for EC2 instances, EBS volumes, and data transfer.
Prerequisites
- An EKS cluster running Kubernetes 1.24+
- The Kubernetes Metrics Server deployed (recommended for usage-based recommendations)
kubectlconfigured with access to the cluster
How Pricing Works
K8Cost uses AWS EC2 on-demand pricing for the region where your cluster runs. When the agent collects node information, it maps each node's instance type (e.g., m5.xlarge) to the corresponding hourly rate and calculates per-pod costs based on resource allocation.
Supported pricing dimensions:
- Compute: EC2 on-demand rates by instance type and region
- Storage: EBS volume pricing by type (gp3, gp2, io1, io2, st1, sc1)
- Data transfer: Inter-AZ and internet egress estimates
Set the provider and region when deploying the agent:
kubectl set env cronjob/k8cost-analyzer -n k8cost \
K8COST_PROVIDER=aws \
K8COST_REGION=us-east-1
EKS-Specific Considerations
- Fargate pods: K8Cost detects Fargate-scheduled pods and applies Fargate vCPU/memory pricing instead of EC2 instance rates.
- Spot instances: Nodes running on Spot are identified via the
node.kubernetes.io/lifecycle=spotlabel. K8Cost factors spot pricing into recommendations where applicable. - Savings Plans and Reserved Instances: Track your commitment coverage and utilization in the Commitments dashboard.
- EKS cluster fee: The $0.10/hour EKS control plane fee is included in the cluster-level cost summary.
Next Steps
- Deploy the agent with AWS region configuration
- View your dashboard to see AWS-specific cost breakdowns