카테고리 없음

[Azure] AKS Node Pool 이해와 운영 전략

dlcodnjstnddl 2025. 8. 17. 19:55

🔷 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 

  1. System Node Pool 최소 1개 유지
    • 권장 VM 크기: 최소 2 vCPU, 8 GB RAM
    • Availability Zone 분산 구성 가능
  2. User Node Pool은 워크로드 특성별로 분리
    • 예: API 전용 Pool, Batch 전용 Pool, GPU Pool
  3. 시스템과 워크로드 분리로 안정성 확보
    • 운영 중 문제 발생 시 User Pool만 Scale 조정 가능
  4. 업그레이드·테스트는 임시 Pool 활용
    • 기존 Pool에 영향 없이 새 버전 검증 가능

참고 자료

  1. Manage node pools in Azure Kubernetes Service (AKS)
  2. Best practices for system and user node pools in Azure Kubernetes Service (AKS)