워크로드별 최적화

지원 버전: EKS 1.29+, EKS Auto Mode GA 마지막 업데이트: 2026년 2월 19일

< 이전: 노드 생명주기 | 목차 | 다음: 마이그레이션 가이드 >


이 문서에서는 다양한 워크로드 유형에 맞게 EKS Auto Mode를 최적화하는 방법을 설명합니다.

웹 서비스 (가용성 우선)

# web-service-optimized.yaml
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: web-tier
spec:
  template:
    metadata:
      labels:
        tier: web
    spec:
      requirements:
        # 범용 인스턴스
        - key: karpenter.k8s.aws/instance-category
          operator: In
          values: ["m"]
        - key: karpenter.k8s.aws/instance-size
          operator: In
          values: ["large", "xlarge", "2xlarge"]
        # On-Demand만 사용 (가용성 우선)
        - key: karpenter.sh/capacity-type
          operator: In
          values: ["on-demand"]
      taints:
        - key: tier
          value: web
          effect: NoSchedule
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default
  disruption:
    consolidationPolicy: WhenEmptyOrUnderutilized
    consolidateAfter: 5m
    budgets:
      - nodes: "10%"
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-frontend
spec:
  replicas: 10
  selector:
    matchLabels:
      app: web-frontend
  template:
    metadata:
      labels:
        app: web-frontend
    spec:
      tolerations:
        - key: tier
          value: web
          effect: NoSchedule
      nodeSelector:
        tier: web
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 100
              podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: web-frontend
                topologyKey: kubernetes.io/hostname
      containers:
        - name: web
          image: my-web-app:latest
          resources:
            requests:
              cpu: 500m
              memory: 512Mi
            limits:
              cpu: 1000m
              memory: 1Gi
          readinessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 10
          livenessProbe:
            httpGet:
              path: /health
              port: 8080
            initialDelaySeconds: 15
            periodSeconds: 20

배치 처리 (비용 우선, Spot)

GPU 워크로드 (p5, g5)

AI/ML 학습 워크로드

워크로드 유형별 요약

워크로드
인스턴스 카테고리
Capacity Type
Consolidation
expireAfter

웹 서비스

m (범용)

On-Demand

WhenEmptyOrUnderutilized, 5m

168h

배치 처리

c (컴퓨팅)

Spot

WhenEmpty, 30s

72h

GPU 추론

g, p

On-Demand

WhenEmpty, 10m

336h

ML 학습

p5, p4d

On-Demand

WhenEmpty, 30m

336h

개발/테스트

t, m

Spot

WhenEmptyOrUnderutilized, 1m

24h

추가 최적화 팁

리소스 요청 최적화

토폴로지 분산


< 이전: 노드 생명주기 | 목차 | 다음: 마이그레이션 가이드 >

마지막 업데이트