Skip to main content

EKS GPU Node Strategy

Published 2026-03-16Updated 2026-07-1932 min read

Overviewโ€‹

When operating GPU workloads on EKS, node type selection directly impacts operational complexity, cost, and feature utilization. GPU inference and training workloads have special requirements unlike general container workloads:

  • Driver dependencies: NVIDIA GPU drivers, Container Toolkit, Device Plugin
  • Advanced features: MIG (Multi-Instance GPU), Time-Slicing, Fractional GPU
  • Monitoring: DCGM (Data Center GPU Manager)-based metrics
  • Scheduling: Topology-Aware Placement, Gang Scheduling

AWS EKS provides 4 node types for GPU workloads:

Node TypeDescription
EKS Auto ModeAWS fully manages the entire node lifecycle (GPU drivers pre-installed)
KarpenterAuto-scaling + Custom AMI, MIG, full user customization
Managed Node GroupAWS-managed node groups, only option supporting DRA (Dynamic Resource Allocation)
Hybrid NodeConnect on-premises GPU servers to the EKS cluster
Core Principle

You can operate multiple node types simultaneously in a single EKS cluster. Configure the optimal node combination matching your workload characteristics.

Scope of This Documentโ€‹

This document focuses on node type selection and hybrid architecture design. Detailed NVIDIA software stack (GPU Operator/DCGM/Dynamo), GPU autoscaling, llm-d distributed inference, and security/troubleshooting are covered in their respective specialized documents (see Section 7 Related Documents).


2. Node Type Comparisonโ€‹

2.1 Feature Comparison Tableโ€‹

FeatureAuto ModeKarpenterManaged Node GroupHybrid Node
Management OwnerAWS fully managedSelf-ManagedAWS managedOn-Premises
Auto-scalingAutomatic (AWS controlled)Automatic (NodePool-based)Manual/LimitedManual
Custom AMINot availableAvailableAvailableAvailable
SSH AccessNot availableAvailableAvailableAvailable
GPU DriverPre-installed (AWS)User-installedUser-installedUser-installed
GPU OperatorAvailable (Device Plugin label disabled)AvailableAvailableAvailable
Root FilesystemRead-OnlyRead-WriteRead-WriteRead-Write
MIG SupportNot available (NodeClass read-only)AvailableAvailableAvailable
DRA CompatibleNot available (managed internal Karpenter, version-locked)v1.14.0+ supported (from Provider v1.14.0; โ‰ค v1.13 not supported)Available (recommended)Available
DCGM ExporterInstall via GPU OperatorIncluded in GPU OperatorManual installationIncluded in GPU Operator
Run:ai CompatibleAvailable (Device Plugin disabled)AvailableAvailableAvailable
CostLow (no management needed)MediumMediumLow (Capex)
Suitable WorkloadsSimple inferenceAdvanced GPU featuresDRA workloadsOn-premises integration

2.2 Selection Guide: When to Use Which Nodeโ€‹

Choose Auto Mode when:

  • You want to quickly start inference services without GPU driver management burden
  • Serving large models (70B+) that don't require MIG or Fractional GPU
  • System/non-GPU workloads (API Gateway, Agent, Observability)

Choose Karpenter when:

  • You need flexible control over MIG partitioning, Custom AMI, Spot Instances
  • Using projects dependent on GPU Operator ClusterPolicy (Run:ai, KAI Scheduler)
  • Optimizing GPU utilization for small/medium models (MIG partitioning)

Choose Managed Node Group when:

  • DRA (Dynamic Resource Allocation)-based GPU management is required
  • Using DRA-exclusive instances like P6e-GB200 UltraServer

Choose Hybrid Node when:

  • Integrating existing on-premises GPU server assets into EKS
  • Data residency requirements

3. EKS Auto Mode GPU Support and Limitationsโ€‹

3.1 GPU Stack Auto-Provided by Auto Modeโ€‹

EKS Auto Mode pre-installs the following on GPU instances:

  1. NVIDIA GPU Driver - AWS-managed version, /dev/nvidia* devices auto-created
  2. NVIDIA Container Toolkit - containerd plugin auto-configured
  3. NVIDIA Device Plugin - nvidia.com/gpu resource auto-registered
  4. GPU Resource Registration - Pods can immediately request nvidia.com/gpu: 1
apiVersion: v1
kind: Pod
metadata:
name: gpu-test
spec:
containers:
- name: cuda-test
image: nvidia/cuda:12.2.0-runtime-ubuntu22.04
command: ["nvidia-smi"]
resources:
limits:
nvidia.com/gpu: 1

3.2 Installing GPU Operator on Auto Mode: Device Plugin Disable Patternโ€‹

GPU Operator can be installed on Auto Mode. The key is to disable only the Device Plugin via node labels while keeping other components (DCGM Exporter, NFD, GFD) running normally. This pattern was validated in awslabs/ai-on-eks PR #288.

Why is GPU Operator needed? Several projects including KAI Scheduler and Run:ai depend on GPU Operator's ClusterPolicy CRD. Without ClusterPolicy, these projects cannot even start. This is the core reason for installing GPU Operator on Auto Mode.

ClusterPolicy CRD (GPU Operator)
โ†“ depends on
KAI Scheduler (GPU-aware Pod placement)
Run:ai (Fractional GPU, Gang Scheduling)
โ†“ reads
DCGM Exporter (GPU metrics)
NFD/GFD (Hardware labels)

For the per-component activation matrix, the Device Plugin disable NodePool label, and complete Helm values for Auto Mode/Karpenter, see NVIDIA GPU Stack โ€” GPU Operator Configuration per EKS Environment.

Actual Auto Mode Limitations

While GPU Operator installation is possible, since NodeClass is read-only, the following are not available:

  • MIG Partitioning: Cannot configure MIG profiles in NodeClass
  • Custom AMI: Cannot pin specific driver versions
  • SSH/SSM Access: Cannot directly debug nodes

If MIG-based GPU partitioning is needed, switch to Karpenter + GPU Operator.

3.3 Large GPU Instance Support Status (Verified 2026.04)โ€‹

Auto Mode large GPU instance support status confirmed during GLM-5 (744B MoE) deployment. p5.48xlarge Spot provisioning was successful, but p5en/p6 have current limitations.

Detailed Support Status: See EKS Auto Mode GPU Instance Support Status

3.4 Auto Mode + MNG Hybrid Limitationโ€‹

The hybrid pattern of adding MNG to an Auto Mode cluster for p5en/p6 usage is currently not possible:

  • MNG creation stalls in CREATING state for 30+ minutes
  • CloudFormation stack Resources field remains null
  • Auto Mode's managed compute layer conflicts internally with MNG's ASG-based management

Conclusion: For large GPUs (H200+, B200), use EKS Standard Mode + Karpenter + MNG.

3.5 Device Plugin Conflict Resolutionโ€‹

Installing GPU Operator with devicePlugin.enabled=true on Auto Mode nodes conflicts with the built-in Device Plugin.

kubectl describe node <gpu-node> | grep nvidia.com/gpu
# Allocatable: nvidia.com/gpu: 0 (expected: 8)

Solution: Add nvidia.com/gpu.deploy.device-plugin: "false" label to NodePool (see Section 3.2)

3.6 Node Force Termination Not Availableโ€‹

EC2 instances managed by Auto Mode block ec2:TerminateInstances. Abnormal node recovery procedure:

  1. Delete workload: kubectl delete pod <gpu-pod>
  2. Delete NodeClaim: kubectl delete nodeclaim <nodeclaim-name>
  3. Karpenter detects empty node and auto-terminates (5-10 min)
  4. New NodeClaim creation starts a healthy node

3.7 How to Verify Auto Mode Instance Supportโ€‹

You can pre-verify specific instance type support with a NodePool dry-run:

apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
name: gpu-test-dryrun
spec:
template:
spec:
requirements:
- key: node.kubernetes.io/instance-type
operator: In
values: ["p5en.48xlarge"]
nodeClassRef:
group: eks.amazonaws.com
kind: NodeClass
name: default
limits:
nvidia.com/gpu: "8"

If NoCompatibleInstanceTypes appears in kubectl get nodeclaim events after dry-run, that instance type is not supported in Auto Mode.


4. Karpenter GPU NodePool Configurationโ€‹

4.1 Why Karpenterโ€‹

Karpenter is the optimal balance point that maintains Auto Mode's auto-scaling advantages while fully utilizing GPU Operator. For per-item differences with Auto Mode, see the Feature Comparison Table above. In short, full Custom AMI, MIG, and Spot support are the deciding factors for choosing Karpenter.

4.2 NodePool and Cost Configuration Referencesโ€‹

Inference/training NodePool YAML, EC2NodeClass, Spot + On-Demand fallback, topology and Gang Scheduling, Spot price comparison, and cost optimization strategies are covered in GPU Resource Management. For Karpenter-node-specific GPU Operator Helm values, see NVIDIA GPU Stack โ€” GPU Operator Configuration per EKS Environment.

Key points from the node strategy perspective:

  • Inference NodePool: Prefer On-Demand; minimize serving disruption with consolidationPolicy: WhenEmpty
  • Training NodePool: capacity-type: [spot, on-demand] for Spot-first + fallback; prevent training interruption with consolidateAfter: 30m
  • Spot savings: p5/p5en/p6 family instances can save roughly 69-85% with Spot (use actively for PoC/demo environments)

5.1 3-Node Type Coexistence Architectureโ€‹

Operate Auto Mode + Karpenter + Hybrid Node simultaneously in a single EKS cluster.

5.2 Per-Workload Node Placement Strategyโ€‹

Workload TypeNode TypeGPU OperatorReason
System ComponentsAuto ModeNot neededNo management needed, cost minimization
API Gateway / AgentAuto ModeNot neededCPU workloads
Simple GPU Inference (70B+)Auto ModeOptional (needed for DCGM)MIG not needed, fast scaling
MIG-Based InferenceKarpenterRequiredMIG Manager needed
Fractional GPUKarpenterRequiredRun:ai needed
Model TrainingKarpenterRequiredGang Scheduling, Spot
DRA WorkloadsManaged Node GroupRequiredNot supported on Karpenter/Auto Mode
On-Premises GPUHybrid NodeRequiredNo AWS-managed GPU stack

5.3 MNG Hybrid for DRA Workloadsโ€‹

DRA (Dynamic Resource Allocation) was promoted to GA in K8s 1.34, providing advanced GPU management beyond Device Plugin including fine-grained GPU memory allocation and NVLink topology-aware scheduling. DRA support depends on the Karpenter version and deployment method โ€” self-managed Karpenter v1.14.0+ (ignoreDRARequests=false) and MNG support it, while EKS Auto Mode currently does not due to its internal Karpenter version constraint. For the per-provisioning-method compatibility table and enablement parameters, see GPU Resource Management โ€” Node Provisioning Compatibility.

WorkloadNode TypeGPU Allocation MethodScaling
DRA Workloads (llm-d, P6e-GB200)Managed Node GroupResourceClaim (DRA)Cluster Autoscaler
Standard GPU Inference (vLLM standalone)Karpenter / Auto Modenvidia.com/gpu (Device Plugin)Karpenter
Non-GPU WorkloadsKarpenter / Auto Mode-Karpenter

For detailed DRA scale-out strategies, see GPU Resource Management.

Model SizeExampleRecommended NodeReason
70B+Qwen2.5-72B, Llama-3.3-70BAuto Mode + llm-dUses nearly all GPU, management convenience
30B-65BQwen3-32BAuto Mode or Karpenter50%+ GPU usage, choose based on situation
13B-30BLlama-3-13BKarpenter + MIG 2-way splitGPU utilization improvement needed
7B and belowLlama-3-8B, Mistral-7BKarpenter + MIG 4-7 way splitSevere GPU waste, MIG essential
Multi-ModelMultiple models simultaneouslyKarpenter + MIGSeparate MIG partitions per model
Dev/TestModel agnosticAuto ModeQuick start

5.5 Cost Impact by Model Sizeโ€‹

Based on p5.48xlarge (H100 x8) On-Demand $55.04/hr, monthly cost is approximately $40,000 (reflecting the 2025-06 price cut):

Configuration7B Model InstancesGPU UsageGPU UtilizationEffective Cost/Instance
Auto Mode (full GPU allocation)88 GPUs~25%$5,020
Karpenter + MIG (4-way split)82 GPUs~80%$1,256
SavingsSame75% reduction3.2x improvement75% reduction
Model Size and Cost Efficiency

The smaller the model parameters, the greater the GPU waste on Auto Mode. Running a 7B model on H100 leaves 80% of GPU memory idle, which is a direct cost waste. MIG partitioning is essential for small/medium models.

5.6 Optimal Configuration for Current Timeframe (2026.04)โ€‹

For most LLM serving environments, DRA is not yet essential. Device Plugin + MIG combination can sufficiently cover GPU partitioning and topology placement, and Karpenter's fast scale-out is more favorable for LLM serving SLOs than MNG + Cluster Autoscaler.

CriteriaKarpenter + Device PluginMNG + DRA
Scale-out SpeedFast (Karpenter)Slow (Cluster Autoscaler)
GPU PartitioningMIG supported (GPU Operator)DRA native
Operational ComplexitySingle stackMNG + Karpenter mixed
K8s Version1.32+1.34+ (DRA GA)
Ecosystem MaturityProduction-provenEarly stage

Small Scale (< 32 GPUs)

Configuration: Auto Mode + Karpenter (GPU dedicated)
- Auto Mode: General workloads
- Karpenter: GPU inference (Device Plugin)
- GPU Operator: DCGM monitoring
Cost: $5,000 - $15,000/month

Medium Scale (32 - 128 GPUs)

Configuration: Karpenter + GPU Operator + KEDA
- Karpenter NodePool: Separate Prefill / Decode / Small models
- GPU Operator: MIG, DCGM, NFD/GFD
- KEDA: KV Cache / TTFT-based Pod scaling
Cost: $15,000 - $80,000/month

Large Scale (> 128 GPUs)

Configuration: Karpenter + GPU Operator + Run:ai + Hybrid Node
- Karpenter: GPU Operator + Run:ai
- Hybrid Node: On-premises GPU farm integration
- When adopting P6e-GB200: Add MNG + DRA
Cost: $80,000 - $500,000/month (cloud) + Capex (on-premises)

5.8 DRA Transition Timingโ€‹

ConditionTransition Required
P6e-GB200 UltraServer AdoptionRequired (Device Plugin not supported)
Multi-Node NVLink / IMEX NeededRequired (ComputeDomain is DRA-exclusive)
CEL-Based Fine-Grained GPU Attribute SelectionRecommended
GPU Sharing (MPS)Recommended
Self-managed Karpenter v1.14.0+ (DRA supported)Optimal transition timing (MNG not needed)
Transition Strategy

Now: Karpenter + GPU Operator (Device Plugin + MIG) -- Fastest and most operationally viable production configuration

When Adopting P6e-GB200: MNG (DRA, GPU) + Karpenter (non-GPU) hybrid

After Karpenter DRA GA: Karpenter + DRA integration -- Final target configuration


6. AWS Accelerator Selection Guide (NVIDIA vs Neuron)โ€‹

EKS GPU node strategies have traditionally been designed around NVIDIA GPUs (p/g series), but as of 2026, Trainium2/Inferentia2 based AWS custom accelerators have matured as production alternatives. Neuron stack details are covered in AWS Neuron Stack, while this section only summarizes selection criteria for node strategy planning.

6.1 NVIDIA GPU vs AWS Neuron Decision Matrixโ€‹

CriteriaNVIDIA GPU (p5/p5en/p6/g6e)AWS Neuron (trn2/inf2)
Model Ecosystem RecencyImmediate support (new models Day-1)AWS porting cycle delay (weeks to months)
Long-Term TCOHigher (H100/H200/B200 Spot still expensive)Favorable cost per token (per AWS data)
Capacity AvailabilityTight depending on region/timingRelatively easier to secure
Custom CUDA KernelsFull supportNot supported (NEFF compilation required)
Quantization FormatsAWQ/GPTQ/GGUF extensiveBF16/FP16/FP8, AWQ/GPTQ limited
Observability EcosystemGPU Operator + DCGM matureneuron-monitor + OSS exporter
Open-Source ServingvLLM, SGLang, TRT-LLM richNxD Inference / vLLM Neuron / TGI Neuron
Bedrock ContinuityUnrelatedSame path as Bedrock internal stack
Hybrid (On-Premises)Possible with Hybrid NodeEC2 only (on-premises not available)

6.2 Selection Flowโ€‹

  • Frontier (Latest Models) Layer: NVIDIA GPU (p5en/p6) โ€” Rapid adoption of new models
  • Volume (High-Frequency Inference) Layer: Neuron (trn2/inf2) โ€” Low-cost serving of stable models at scale
  • Edge/On-Premises: Hybrid Node + NVIDIA GPU โ€” Neuron is EC2-only

For detailed Neuron SDK, Device Plugin, Karpenter NodePool, and inference framework selection (NxD Inference / vLLM Neuron / TGI Neuron), see AWS Neuron Stack.


7. Node Strategy Decision Flowchartโ€‹

Decision Summary Tableโ€‹

QuestionAnswerRecommended Node TypeGPU Operator
GPU not needed-Auto ModeNot needed
Simple GPU inference (no MIG)-Auto Mode GPUOptional
MIG needed-KarpenterRequired
DRA needed-Managed Node GroupRequired
Fractional GPU / Run:ai-KarpenterRequired
On-premises GPU-Hybrid NodeRequired
Cost minimization (Spot acceptable)-Karpenter SpotRequired
Large-scale training (Gang Scheduling)-Karpenter + Run:aiRequired
P6e-GB200DRA requiredManaged Node GroupRequired

GPU Stack and Monitoringโ€‹

For detailed NVIDIA GPU software stack including GPU Operator, DCGM, MIG, Time-Slicing, KAI Scheduler, and Dynamo, see the dedicated document.

  • NVIDIA GPU Stack - GPU Operator, DCGM Exporter, MIG Manager, Dynamo, KAI Scheduler

GPU Resource Managementโ€‹

For GPU autoscaling strategies based on Karpenter, KEDA, and DRA, see:

Inference Enginesโ€‹

Hybrid Infrastructureโ€‹

For EKS Hybrid Node registration of on-premises GPU servers, VPN/Direct Connect configuration, and GPU Operator installation, see:

Deployment and Securityโ€‹

For production deployment YAML, security policies (Pod Security Standards, NetworkPolicy, IAM), and troubleshooting guides for GPU workloads, see Reference Architecture.

Platform Architectureโ€‹