On-Premises Integration
Learn how to configure Kubeadapt for on-premises Kubernetes clusters with custom resource pricing for accurate cost tracking.
Overview
Kubeadapt supports on-premises deployments by allowing you to configure custom pricing for compute, memory, storage, and network resources. This is ideal for:
- Self-managed Kubernetes clusters (kubeadm, kops, Rancher, etc.)
- Bare metal infrastructure
- Private datacenters
- Hybrid cloud environments
Prerequisites
- On-premises Kubernetes cluster (1.24 or higher)
- kubectl access to your cluster
- Internal resource pricing information (CPU, RAM, storage costs)
Default Pricing
Kubeadapt uses default pricing based on GCP us-central1 rates if no custom pricing is configured:
1{
2 "provider": "custom",
3 "description": "Default prices based on GCP us-central1",
4 "CPU": "0.031611", // $ per core-hour
5 "spotCPU": "0.006655", // $ per core-hour (spot/preemptible)
6 "RAM": "0.004237", // $ per GB-hour
7 "spotRAM": "0.000892", // $ per GB-hour (spot/preemptible)
8 "GPU": "0.95", // $ per GPU-hour
9 "storage": "0.00005479452", // $ per GB-hour
10 "zoneNetworkEgress": "0.01", // $ per GB
11 "regionNetworkEgress": "0.01",
12 "internetNetworkEgress": "0.12"
13}Custom Pricing Configuration
To reflect your actual datacenter costs, configure custom pricing in your Helm values file.
Step 1: Calculate Your Resource Costs
Determine your internal costs for:
- CPU: Cost per core-hour (total server cost / cores / hours per month)
- RAM: Cost per GB-hour (total memory cost / GB / hours per month)
- Storage: Cost per GB-hour (storage infrastructure cost)
- Network: Egress costs (if applicable)
Example calculation:
1Server: $3,000 (24 cores, 128GB RAM)
2Lifespan: 36 months
3Operating hours: 720 hours/month
4
5CPU cost = $3,000 / 36 / 720 / 24 = $0.00579 per core-hour
6RAM cost = $3,000 / 36 / 720 / 128 = $0.00108 per GB-hourStep 2: Update Helm Values
Create or update your values.yaml file:
1# values.yaml
2opencost:
3 opencost:
4 customPricing:
5 enabled: true
6 costModel:
7 description: "Internal datacenter pricing"
8 CPU: "0.00579" # Your calculated CPU cost per core-hour
9 RAM: "0.00108" # Your calculated RAM cost per GB-hour
10 storage: "0.00010" # Your storage cost per GB-hour
11 GPU: "1.50" # GPU cost per hour (if applicable)
12 zoneNetworkEgress: "0.01"
13 regionNetworkEgress: "0.01"
14 internetNetworkEgress: "0.12"Step 3: Apply Configuration
Install or upgrade Kubeadapt with your custom pricing:
1helm upgrade kubeadapt kubeadapt/kubeadapt \
2 --namespace kubeadapt \
3 --install \
4 -f values.yamlMulti-Tier Pricing
For organizations with different server types or pricing tiers, you can set node-specific pricing using Kubernetes labels.
Label Nodes by Pricing Tier
1# High-performance servers
2kubectl label nodes node1 node2 node3 pricing-tier=premium
3
4# Standard servers
5kubectl label nodes node4 node5 node6 pricing-tier=standardConfigure Tier-Specific Pricing
1# values.yaml
2opencost:
3 opencost:
4 customPricing:
5 enabled: true
6 costModel:
7 # Default pricing (standard tier)
8 CPU: "0.00579"
9 RAM: "0.00108"
10
11 # Premium tier pricing (via labels)Note: Full multi-tier pricing support requires additional configuration. Contact support for advanced pricing models.
Troubleshooting
Issue: Costs seem too high/low
- Verify your cost calculations include all infrastructure expenses
- Check that cost units are correct (per hour)
- Ensure depreciation period matches your accounting standards
Issue: Custom pricing not applied
- Verify Helm values are correct: kubectl get configmap -n kubeadapt
- Check kubeadapt-opencost logs: kubectl logs -n kubeadapt deployment/kubeadapt-opencost-exporter
- Restart kubeadapt-opencost pods: kubectl rollout restart deployment -n kubeadapt
Issue: Different node types need different pricing
- Use Kubernetes node labels to categorize nodes
- Consider multiple kubeadapt deployments for complex pricing models
- Contact support for enterprise multi-tier pricing solutions
Best Practices
- Regular Review: Update pricing quarterly to reflect infrastructure changes
- Include All Costs: Factor in power, cooling, networking, and maintenance
- Document Assumptions: Keep calculation methodology documented for audits
- Start Conservative: Begin with estimates, refine over time with actual data
- Monitor Trends: Use Kubeadapt to identify cost optimization opportunities
Next Steps
- Cost Attribution - Understand how costs are calculated
- Available Savings - Identify optimization opportunities
- Right-sizing - Optimize resource requests