Graviton on EKS

Overview

Graviton instances use AWS-designed ARM processors for better price-performance.

Instance Types

InstancevCPUMemoryUse Case
m6g.medium14 GBSmall workloads
m6g.xlarge416 GBGeneral purpose
c6g.2xlarge816 GBCompute optimized
r6g.large216 GBMemory optimized
m6gd.xlarge416 GBWith local NVMe

Create Node Group with Graviton

eksctl create nodegroup \
  --cluster my-cluster \
  --name graviton-workers \
  --node-type m6g.xlarge \
  --nodes 3 \
  --nodes-min 1 \
  --nodes-max 10 \
  --managed

Multi-Architecture Images

apiVersion: v1
kind: Pod
spec:
  nodeSelector:
    kubernetes.io/arch: arm64
  containers:
  - name: app
    image: myapp:latest

Benefits

  • 20% better price-performance vs x86
  • Lower memory pricing
  • Better performance for ARM-native workloads
  • Energy efficient

Considerations

  • Ensure your application is ARM-compatible
  • Multi-architecture container images required
  • Some AWS integrations may have limitations

References