Karpenter Optimization Overview
ScaleOps’ Karpenter Optimization feature reduces Kubernetes infrastructure costs by optimizing Karpenter configurations to eliminate node-level waste.
Prerequisites
- Supported Cloud Provider:
- AWS EKS Clusters Available in v1.17.0+
- Azure AKS Clusters Available in v1.22.2+
- AWS EKS Clusters
- Karpenter v1 Required: Node Optimization requires Karpenter v1 or higher
- Preference Policy Optimization Requirements:
- Karpenter is installed and managed in the cluster
- Not supported for cloud-managed Karpenter (e.g., Azure NAP, EKS Auto Mode)
- Karpenter image version v1.4.0 or newer
Node Optimization Savings Dashboard
The Node Optimization Savings page provides a comprehensive view of your cluster’s cost optimization opportunities and current savings performance.

Top Section Overview
The top section displays key financial metrics:
- Total Cost: Shows your current infrastructure spend
- Wasted Spend: Percentage of resources that could be optimized
- Optimization Status: Visual indicator showing the percentage of optimized vs. un-optimized node pools
Resource Allocatable Charts
CPU and Memory Allocatable Graphs:
- Display resource allocatable over time (7 Days, 30 Days views available)
- Show breakdown of Request vs Allocatable vs Optimized allocatable resources
- Waste Segmentation: The charts divide waste into three distinct segments over time - Instance Type waste, Disruption Policy waste, and Preference Policy waste - to help identify different optimization opportunities
Optimization Actions Table
The main optimization table presents actionable recommendations:
Instance Types Optimization
- Shows available savings through better instance selection
- Provides “Optimize Instance Types” button for immediate action, it sends you to the nodepool page with instance types savings filter.
Disruption Policy Optimization
- Shows savings available through better node consolidation policies
- Provides “Optimize Disruption Policy” button for implementation , it sends you to the nodepool page with disruption policies savings filter.
Preference Policy Optimization
- Shows savings available by configuring Karpenter to ignore preferred scheduling constraints (like prefered affinity and topolgy spread constraints) during consolidation
- Allow to enable “Optimize Preference Policy” button to allow Karpenter consolidation to ignore soft scheduling rules.
Node Optimization Components
Instance Type Optimization
Analyzes and optimizes Karpenter node pool requirements to ensure Karpenter provisions the most cost-effective instance types for your workloads. This improves requirement selection (instance families, sizes, generations) so Karpenter automatically chooses cheaper, more efficient instances while meeting performance needs.
Reserved Instances, Savings Plans, and IP capacity awareness (AWS) Available in v1.29.11+
On AWS EKS, instance-type optimization for Karpenter node pools stays aligned with how you pay and with node IP capacity:
- Reserved Instances and Savings Plans: Expansion stays inside your discount footprint—between commitment-covered families and sizes—and does not add non-discounted instance types or families to pools that already include commitment-covered options.
- IP capacity: Expansion weighs instance size and ENI / pre-allocated IP limits so recommendations are less likely to push you toward VPC IP exhaustion when an instance type offers a worse IP-to-compute ratio for the same workload capacity.
This behavior uses billing signals from your AWS Cost and Usage Report (CUR) integration. Enable CUR under Settings → Cloud Integration and confirm it is healthy and then use Karpenter Optimization and Node Pools as usual—instance-type recommendations on AWS applies this logic automatically when CUR data is available.
Disruption Policy Optimization
Recommends optimal Karpenter disruption policies and budgets to maximize node consolidation opportunities. This ensures Karpenter can efficiently consolidate underutilized nodes by setting policies like WhenEmptyOrUnderutilized and optimizing disruption budgets, balancing cost savings with application availability while reducing total node count.
Preference Policy Optimization Available in v1.27.0+
Configures Karpenter to ignore soft scheduling rules (preferred affinities and topology spread constraints) during consolidation, improving bin-packing efficiency while still respecting hard constraints. This prevents soft rules from leaving usable capacity stranded and reduces costs by enabling better node consolidation. ScaleOps’ admission webhook overrides the Karpenter pod’s configuration to set the preference policy, triggering a rollout of the Karpenter workload to apply the mutation.
Note: Preference Policy Optimization requires Karpenter to be installed and managed in the cluster (cloud-managed Karpenter is not supported - Azure NAP, EKS Auto Mode), and a Karpenter image version v1.4.0 or newer.
Node Pools Table
The Node Pools page displays all your cluster’s node pools with their configurations and optimization opportunities.

Filters
- Savings Available: Shows only node pools that have available savings.
- Savings by Instance Types: Filters to display node pools with instance type available savings.
- Savings by Policy Disruption: Filters to show node pools with disruption policy available savings.
Table Columns
| Column | Description |
|---|---|
| Name | Node pool identifier name |
| Weight | Priority value determining node pool selection order |
| Savings Available | Dollar amount that can be saved through optimization |
| Savings By Instance Type | Potential savings from optimizing instance selection |
| Saving By Disruption Policy | Potential savings from optimizing disruption policies |
| Life Cycle | Node lifecycle state (Spot/On-Demand) |
| Instance Type | Current instance family and size configuration |
| Requirements | Hardware and software requirements for the node pool |
| Disruption Policy | Current consolidation and disruption settings |
| Budget | Disruption budget limiting simultaneous node changes |
| Number of Nodes | Current count of active nodes in the pool |
| Actions | Immediate optimization buttons to apply instance type or disruption policy improvements, plus options to edit, duplicate, or delete node pools |
Creating and Managing Node Pools
For detailed instructions on creating new node pools and managing existing ones, see Creating a New Node Pool.
Edit & Optimize Existing Node Pools
After creating node pools, you can edit their configurations and apply optimizations to improve cost efficiency and performance.
Use the Actions column in the Node Pools table to edit existing node pools. You can modify any of the configuration settings including instance types, disruption policies, and general settings.
ScaleOps provides optimization recommendations for your existing node pools:
- Instance Type Optimization: Apply recommended instance family changes for better cost-performance ratio
- Disruption Policy Optimization: Update consolidation policies to maximize node utilization and cost savings
For detailed information on node pool optimization configurations, see Node Pools Optimization.
Node Classes
Node Classes are only supported on AWS EKS clusters and are not available for Azure AKS clusters.
Node Classes define the infrastructure blueprint that Karpenter uses to provision nodes in your cluster. They specify the fundamental characteristics and capabilities of the nodes, including instance types, networking, storage, and security configurations.
For detailed instructions on creating and configuring node classes, see Creating a New Node Class.