핵심 요약
당근이 EKS의 Job 워크로드용 Node Group에 오토스케일링을 도입해 Bin-packing 기반의 Pod 배치와 실행 중단 방지 설정으로 반응성과 비용 효율을 개선했습니다. 도입 후 평균 Node 수는 job 5→4.198(약 16% 감소), job-arm은 2→4.18(약 109% 증가)로 변화했습니다.
구현 방법
- PodAffinity로 같은 Node에 다수의 Job Pod가 배치되도록 하여 Bin-packing 효과를 얻고 Kyverno로 자동 적용
- maxPods를 60으로 설정해 Node당 Pod 수를 제한
- registryPullQPS를 40, registryBurst를 60으로 상향 조정
- EBS IOPS를 8000, Throughput를 800MB/s로 증설
- Host Network 모드 적용으로 CNI 부하 회피
- Job과 Server용 Node Group 분리 운영
주요 결과
- Pending 시간: 최대 14초 → 10초, 평균 1.54초 → 0.78초
- Running 시간: Workflow 138초 → 72.6초, Job 290.76초 → 321.48초
- Image Pull 시간: 3→7.972초(Job), 16→29.76초(Job-arm)
- Node 수의 유동성 적응으로 운영 부담 감소

