Docs
Wave Karpenter
Overview

Karpenter Integration Overview

Karpenter integration is available for Amazon EKS clusters with Karpenter installed. Requires Wave 3.1.0+.

Wave extends Karpenter with real-time monitoring, proactive node warming, and intelligent spot/on-demand placement — capabilities that Karpenter alone does not provide.

What is Karpenter Integration?

Karpenter is AWS's open-source node provisioner for Kubernetes that automatically provisions right-sized compute resources. Wave builds on top of Karpenter to add three capabilities that eliminate manual node management overhead:

1. Karpenter Dashboard

Real-time visibility into your Karpenter-provisioned nodes across all NodePools. Monitor node count, cost per hour, spot ratio, disruptions, and lifecycle events in a unified interface. Automatically detects thrashing patterns (nodes being repeatedly created and destroyed) and provides per-NodePool cost breakdowns.

Learn more in the Dashboard guide.

2. Node Warmup

Proactive node pre-provisioning with parallel image pre-caching. When no existing node can fit the largest pod in a NodePool, Wave triggers a warmup pod to create a new node and pre-pulls container images in parallel. This reduces first pod startup time from 31 seconds to 3 seconds (10x faster). Warmed nodes are protected with do-not-disrupt annotations to prevent premature consolidation.

Learn more in the Node Warmup guide.

3. Spot Workload Placement

Automatic spot/on-demand splitting via MutatingWebhookConfiguration. Set a per-deployment Pod Spot Threshold — pods below the threshold go to on-demand nodes, pods above go to spot nodes. No YAML changes required. Supports Prefer (fallback to on-demand) and Require (strict spot) strategies. Spot instances cost 60-90% less than on-demand pricing.

Learn more in the Spot Workload Placement guide.

Prerequisites

  • Amazon EKS cluster (Karpenter is EKS-only)
  • Karpenter installed and configured with at least one NodePool
  • Wave 3.1.0 or later
  • cert-manager installed (required for Spot Workload Placement webhook TLS)

Architecture

Wave integrates with Karpenter through three pathways:

  1. Metrics Collection: The WA Metrics Agent collects Karpenter node, NodePool, and NodeClaim data via gRPC and sends it to WA Core for processing.
  2. Node Management: WA Core monitors NodePool capacity and triggers warmup pods when proactive provisioning is needed.
  3. Webhook Injection: A MutatingWebhookConfiguration intercepts pod creation events and injects nodeAffinity rules for spot/on-demand placement based on configured thresholds.

Getting Started

See the Getting Started guide for step-by-step installation and configuration.