🔷 Node Pool 개념
AKS에서 Node Pool은 동일한 VM 크기·구성·OS를 가진 노드 그룹을 의미합니다.
클러스터에는 최소 하나의 System Node Pool이 필요하며, 애플리케이션 워크로드는 User Node Pool에서 실행하는 것이 권장됩니다.
🔷 Node Pool 유형
| 구분 | 설명 | 특징 |
| System Node Pool | Kubernetes 핵심 컴포넌트 (CoreDNS. kube-proxy. OMS Agent 등)가 실행되는 풀 |
- 최소 1개 필요 - 안정성과 가용성 우선 - VM 크기 변경·불필요한 Scale 조정 지양 |
| User Node Pool | 애플리케이션 워크로드(Pod)가 실행되는 풀 | - 워크로드 특성별 Pool 구성 가능 - VM 크기·OS·GPU 여부 다양하게 설정 가능 |
🔷 용도별 배치 가이드
| 조치/작업 | 권장 Node Pool | 이유 |
| CoreDNS, kube-proxy, 모니터링 에이전트 | System | 클러스터 필수 서비스 |
| 일반 애플리케이션 Pod | User | 시스템 리소스와 분리 |
| GPU·고성능 연산 | GPU 전용 User | 특수 VM 필요 |
| Canary·Blue/Green 배포 | 별도 User | 운영 영향 최소화 |
| CI/CD Job 실행 | User | 비즈니스 로직 처리 영역 |
| 업그레이드 테스트 | 임시 User | System Pool 영향 차단 |
🔷 System Node Pool에서 하지 말아야 할 작업
- 사용자 애플리케이션 Pod 배포
- OS 업그레이드·VM 크기 변경 테스트
- 불필요한 Add-on 설치
- 대규모 리소스 사용 워크로드 실행
-> 이유: 시스템 리소스와 경쟁하면 클러스터 전체 안정성이 저하됩니다.
🔷 운영 시 Best Practice
- System Node Pool 최소 1개 유지
- 권장 VM 크기: 최소 2 vCPU, 8 GB RAM
- Availability Zone 분산 구성 가능
- User Node Pool은 워크로드 특성별로 분리
- 예: API 전용 Pool, Batch 전용 Pool, GPU Pool
- 시스템과 워크로드 분리로 안정성 확보
- 운영 중 문제 발생 시 User Pool만 Scale 조정 가능
- 업그레이드·테스트는 임시 Pool 활용
- 기존 Pool에 영향 없이 새 버전 검증 가능