AKS NodePool 업그레이드 절차 (정리 및 설명)
순서작업 내용설명
1 | 컨트롤 플레인을 업그레이드한다. | 클러스터의 Kubernetes 버전을 최신으로 유지하기 위한 첫 단계입니다. |
2 | 임시 NodePool(newagentpool)을 클러스터에 신규로 추가한다. | 업그레이드된 환경에서 Pod를 임시로 운영할 수 있도록 새로운 NodePool을 생성합니다. |
3 | 기존 NodePool(agentpool)의 Node AutoScaling을 비활성화한다. | 업그레이드 중 노드 수가 변경되지 않도록 자동 확장을 잠시 중단합니다. |
4 | 기존 NodePool(agentpool)에 Pod 스케쥴링을 비활성화하고 Drain 작업을 수행한다. | 기존 NodePool에서 Pod를 제거하고, 임시 NodePool로 이동되도록 설정합니다. |
5 | 임시 NodePool(newagentpool)로 모든 Pod가 이동되었고, 서비스가 정상적인지 확인한다. | 서비스가 중단 없이 정상적으로 작동하는지 확인합니다. |
6 | 기존 NodePool(agentpool)을 업그레이드한다. | Kubernetes 버전 또는 VM 이미지 등을 최신으로 업데이트합니다. |
7 | 기존 NodePool(agentpool)의 Node AutoScaling을 활성화한다. | 업그레이드가 완료되었으므로 자동 확장을 다시 활성화합니다. |
8 | 기존 NodePool(agentpool)에 Pod 스케쥴링을 활성화한다. | Pod가 다시 기존 NodePool에 배포될 수 있도록 설정합니다. |
9 | 임시 NodePool(newagentpool)에 Pod 스케쥴링을 비활성화하고 Drain 작업을 수행한다. | 임시 NodePool에서 Pod를 제거하고, 기존 NodePool로 다시 이동시킵니다. |
10 | 기존 NodePool(agentpool)로 모든 Pod가 이동되었고, 서비스가 정상적인지 확인한다. | 최종적으로 모든 워크로드가 기존 NodePool에서 안정적으로 운영되고 있는지 검증합니다. |
11 | 임시 NodePool(newagentpool)을 삭제한다. | 더 이상 필요 없는 임시 NodePool을 제거하여 리소스를 정리합니다. |
1. NodePool 업그레이드 시 주의사항
- 업그레이드와 스케일 작업은 동시에 수행 불가
→ 업그레이드 또는 스케일 작업은 하나씩 순차적으로 수행해야 합니다. 동시에 요청하면 오류가 발생합니다.
Manage Node Pools in AKS[1] - Kubernetes 버전 호환성 확인
→ NodePool은 컨트롤 플레인과 동일한 Major 버전이어야 하며, Minor 버전은 ±2 범위 내에서만 허용됩니다.
AKS Upgrade Optionsciteturn4search20 - PodDisruptionBudget(PDB) 설정 확인
→ 잘못된 PDB 설정은 Drain 작업을 방해할 수 있습니다. minAvailable 또는 maxUnavailable 값을 적절히 설정하세요.
AKS Upgrade Practices[2]
2. Drain 작업 관련 주의사항
- Drain 실패 시 업그레이드 중단 가능성
→ 기본 Drain timeout은 30분이며, 이를 초과하면 업그레이드가 실패할 수 있습니다. 필요 시 timeout 값을 늘려야 합니다.
AKS Node Auto-Drain[3] - 자동 Drain 기능은 Best Effort
→ AKS의 자동 Drain은 완벽하지 않으며, 수동 확인 및 조치가 필요할 수 있습니다.
3. AutoScaling 설정 관련
- NodePool 단위로 AutoScaling 설정 가능
→ 각 NodePool에 대해 min-count, max-count를 설정하여 개별적으로 AutoScaling을 적용할 수 있습니다.
Cluster Autoscaler in AKS[4] - AutoScaling Profile 설정 가능
→ scale-down-delay, scan-interval, max-graceful-termination-sec 등 세부 설정을 통해 AutoScaling 동작을 조정할 수 있습니다.
4. 업그레이드 전략
- Blue-Green 전략을 통한 무중단 업그레이드
→ 임시 클러스터 또는 NodePool을 활용하여 트래픽을 점진적으로 전환하는 방식.
AKS Production Upgrade Strategies[5] - Staged Upgrade 전략
→ 개발 → 테스트 → 운영 순으로 점진적으로 업그레이드를 수행하여 리스크를 최소화합니다.
관련 공식 문서 링크 모음
주제링크
NodePool 관리 및 업그레이드 | Manage Node Pools in AKS[1] |
업그레이드 전략 및 실무 가이드 | AKS Upgrade Practices[2] |
무중단 업그레이드 전략 | AKS Production Upgrade Strategies[5] |
Cluster Autoscaler 설정 | Cluster Autoscaler in AKS[4] |
Node 자동 Drain 기능 | AKS Node Auto-Drain[3] |
'Cloud > Azure' 카테고리의 다른 글
LB 설계 및 트러블 슈팅 (1) | 2025.09.01 |
---|---|
가용성 (1) | 2025.09.01 |
App Service / Container APP (2) | 2025.08.21 |
[ACR] Azure ACR 이미지 마이그레이션 가이드 (1) | 2025.08.05 |
[Analytics] DataFactory 란? (3) | 2025.08.04 |