GPU 리소스 관리
2026-02-05 작성2026-07-19 수정23분 읽기
EKS 환경에서 GPU 리소스를 관리하는 전략은 크게 세 가지 축으로 구성됩니다.
| 축 | 핵심 질문 | 주요 기술 |
|---|---|---|
| 프로비저닝 | 어떤 GPU 노드를 언제 생성하는가? | Karpenter, EKS Auto Mode, Managed Node Group |
| 스케줄링 | GPU Pod를 어떤 노드에 배치하는가? | Device Plugin, DRA, Topology-Aware Routing |
| 스케일링 | 트래픽 변화에 어떻게 대응하는가? | KEDA, HPA, Cluster Autoscaler |
이 문서는 각 축의 아키텍처와 설계 판단 기준을 다룹니다. GPU Operator 상세(ClusterPolicy, DCGM, MIG, Time-Slicing, Dynamo, KAI Scheduler 등 NVIDIA 소프트웨어 스택)는 NVIDIA GPU 스택을 참조하세요.
Karpenter GPU NodePool
Karpenter GA (v1.0+)
Karpenter는 v1.0부터 GA 상태이며, 본 문서의 모든 예제는 karpenter.sh/v1 API를 사용합니다. DRA allocator는 코어(kubernetes-sigs/karpenter) v1.14.0에 추가되었고, 이를 포함한 AWS Provider(karpenter-provider-aws) v1.14.0도 2026-07-11에 릴리스되었습니다. 따라서 self-managed Karpenter v1.14.0+ 를 직접 설치하면 EKS에서 DRA 노드 프로비저닝이 가능합니다. 단, 컨트롤러 설정 ignoreDRARequests가 기본값 true(DRA 요청 무시) 이므로 이를 false로 바꿔야 실제로 동작합니다. 상세는 아래 노드 프로비저닝 호환성과 Karpenter DRA 활성화 파라미터를 참조하세요.
GPU 노드 자동 프로비저닝 개념
Karpenter는 Pending Pod의 리소스 요청(nvidia.com/gpu, 메모리, CPU)을 분석하여 최적의 EC2 인스턴스를 자동으로 프로비저닝합니다. GPU 워크로드에서 Karpenter의 핵심 가치는 다음과 같습니다.
- 인스턴스 다양성: 단일 NodePool에서 p4d, p5, g5, g6e 등 다양한 GPU 인스턴스를 지원
- Spot/On-Demand 혼합: capacity-type으로 비용과 안정성 균형 조절
- Consolidation: 유휴 GPU 노드를 자동으로 정리하여 비용 절감
- Taint 기반 격리: GPU 노드에
nvidia.com/gputaint를 설정하여 비GPU 워크로드 배제