Your End-of-Year Kubernetes Cost Audit Checklist for 2025
Don't carry 2024's waste into 2025. Use this checklist to audit your clusters, clean up orphaned resources, and start the new year with optimized infrastructure.
The week between Christmas and New Year is the perfect time to audit your Kubernetes costs. Traffic is low, deployments are frozen, and you finally have time to look at what's actually running in your clusters.
This checklist covers everything from quick wins (delete that staging cluster nobody uses) to strategic improvements (implement proper resource requests across all workloads).
Quick Wins (30 minutes)
Low-effort, high-impact items you can fix today.
Delete unused namespaces
Find namespaces with no running pods. These often have orphaned ConfigMaps, Secrets, and PVCs.
kubectl get ns --no-headers | while read ns _; do pods=$(kubectl get pods -n $ns --no-headers 2>/dev/null | wc -l) [ "$pods" -eq 0 ] && echo "$ns: empty" done
Find orphaned LoadBalancers
Each orphaned LB costs $15-20/month. Check for services with no endpoints.
kubectl get svc -A -o wide | grep LoadBalancer
Clean up old PersistentVolumeClaims
Unbound PVCs and Released PVs still incur storage costs.
kubectl get pvc -A | grep -v Bound kubectl get pv | grep Released
Delete completed/failed Jobs
Old Jobs can accumulate and clutter your cluster.
kubectl delete jobs -A --field-selector status.successful=1
Resource Right-Sizing (1 hour)
The biggest source of waste in most clusters.
Audit memory requests vs actual usage
Compare requested memory to actual usage. Target: actual usage should be 60-80% of requests.
kubectl top pods -A --sort-by=memory
Audit CPU requests vs actual usage
CPU is often over-requested by 3-5x. Check actual utilization.
kubectl top pods -A --sort-by=cpu
Identify pods without resource requests
Pods without requests hurt scheduling efficiency and make cost attribution impossible.
kubectl get pods -A -o json | jq -r '.items[] | select(.spec.containers[].resources.requests == null) | "\(.metadata.namespace)/\(.metadata.name)"'
Review HPA configurations
Check if HPAs are actually scaling. Many are configured but never trigger.
kubectl get hpa -A
Infrastructure Review (1 hour)
Node pools, instance types, and cluster-level optimizations.
Check node utilization
If nodes are less than 50% utilized, you're paying for empty capacity.
kubectl top nodes
Review node pool sizing
Are you using the right instance types? Smaller, more numerous nodes often provide better bin-packing than fewer large nodes.
Evaluate spot/preemptible instances
For fault-tolerant workloads, spot instances offer 50-70% savings. Check which workloads could tolerate interruptions.
Review reserved instance coverage
For stable baseline capacity, reserved instances (AWS) or committed use discounts (GCP) save 30-50%.
Environment Cleanup (30 minutes)
Dev, staging, and test environments often have the worst waste ratios.
Shut down idle dev clusters
Does that dev cluster need to run 24/7? Consider scaling to zero on nights/weekends.
Review staging environment sizing
Staging shouldn't mirror production resources. Use 25-50% of prod capacity.
Delete abandoned feature branch deployments
PR preview environments that were never cleaned up. Check for old release names.
Audit CI/CD runner resources
Are your GitLab runners or Jenkins agents over-provisioned? They often have generous defaults.
2025 Governance Setup (30 minutes)
Set yourself up for success in the new year.
Implement LimitRanges
Prevent developers from requesting excessive resources by setting namespace-level defaults and maximums.
Set up ResourceQuotas
Cap total resources per namespace to prevent runaway costs.
Configure cost allocation labels
Add team, project, and environment labels to all workloads for better cost attribution.
Schedule monthly audits
Put a recurring calendar event to run this checklist monthly. Waste creeps back.
Skip the Manual Work
This checklist takes 2-4 hours manually. Or run our free audit tool and get a complete waste report in 60 seconds:
curl -sL wozz.io/audit.sh | bashRuns locally, analyzes all the items in this checklist, and calculates exact dollar savings. No signup required.
Quick Reference
| Category | Time | Typical Savings |
|---|---|---|
| Quick Wins | 30 min | $200-500/month |
| Resource Right-Sizing | 1 hour | $500-2000/month |
| Infrastructure Review | 1 hour | $300-1000/month |
| Environment Cleanup | 30 min | $100-500/month |
| Total | 3 hours | $1,100-4,000/month |
Start 2025 with a lean cluster. Your CFO will thank you.