문서 목차
QKS · 클러스터
버전 업그레이드
실행 중인 클러스터의 Kubernetes 버전을 다음 마이너 버전으로 업그레이드할 수 있습니다. QKS는 Rolling 방식으로 컨트롤 플레인과 워커 노드를 순차적으로 업그레이드하여 서비스 중단을 최소화합니다.
QUANTUM C&S
개요
실행 중인 클러스터의 Kubernetes 버전을 다음 마이너 버전으로 업그레이드할 수 있습니다. QKS는 Rolling 방식으로 컨트롤 플레인과 워커 노드를 순차적으로 업그레이드하여 서비스 중단을 최소화합니다.
지원 업그레이드 경로
업그레이드는 현재 버전에서 바로 다음 마이너 버전으로만 가능합니다.
| 현재 버전 | 업그레이드 가능 버전 |
|---|---|
| v1.33.10 | v1.34.6 |
| v1.34.6 | v1.35.3 |
| v1.35.3 | v1.36.1 |
v1.33에서 v1.35로 바로 올리는 것은 지원하지 않습니다. v1.33 → v1.34 → v1.35 순서로 단계적으로 진행해야 합니다.
업그레이드 전 준비
1. 백업 생성
업그레이드 전 클러스터의 현재 상태를 백업합니다.
2. 클러스터 및 노드 상태 확인
kubectl get nodes
kubectl get pods -A | grep -v Running | grep -v Completed
모든 노드가 Ready 상태이고, 문제 있는 파드(CrashLoopBackOff, Pending, Error)가 없는지 확인합니다.
3. API 호환성 확인
대상 버전에서 제거된 API가 있는지 사전에 확인하고, 해당 API를 사용하는 매니페스트를 미리 수정합니다. 각 버전의 API 변경 사항은 Kubernetes Deprecation Guide를 참고하세요.
업그레이드 절차
- 클러스터 목록에서 업그레이드할 클러스터를 클릭합니다.
- 클러스터 상세 페이지에서 업그레이드 버튼을 클릭합니다.
- 업그레이드 설정을 입력합니다:
| 항목 | 설명 | 기본값 |
|---|---|---|
| 대상 버전 | 업그레이드할 Kubernetes 버전 | 다음 지원 버전 자동 선택 |
| 전략 | 업그레이드 방식 | rolling (순차적 노드 교체) |
| Drain 타임아웃 | 각 노드 drain 대기 시간 (예: 300s) |
300s |
| 최대 비가용 노드 수 | 동시에 업그레이드 가능한 노드 수 | 1 |
| 예약 시간 | 즉시 시작 또는 특정 시각 예약 (ISO8601 형식) | 즉시 시작 |
- 확인 버튼을 클릭합니다.
업그레이드 과정
업그레이드는 다음 순서로 진행됩니다:
- 컨트롤 플레인 업그레이드 — API 서버, etcd, 스케줄러, 컨트롤러 매니저 순차 업그레이드. 기존 워크로드는 계속 실행됩니다.
- 워커 노드 업그레이드 — 각 노드를
drain → 업그레이드 → uncordon순서로 처리. drain 시 해당 노드의 파드는 다른 노드로 이동합니다. - 완료 — 모든 노드 업그레이드 후 클러스터 상태가
running으로 전환됩니다.
업그레이드 중 클러스터 상태는 upgrading입니다.
진행 상황 확인
Operations 페이지에서 업그레이드 작업의 단계별 진행 상황을 확인할 수 있습니다.
# kubectl로 노드 버전 실시간 확인
kubectl get nodes -w
소요 시간
| 노드 수 | 예상 소요 시간 |
|---|---|
| 3노드 이하 | 약 15~30분 |
| 5~10노드 | 약 30~60분 |
| 10노드 이상 | 60분 이상 |
업그레이드 후 확인
# 모든 노드가 새 버전으로 전환되었는지 확인
kubectl get nodes
# 시스템 파드 정상 여부 확인
kubectl get pods -n kube-system
# 전체 파드 상태 확인
kubectl get pods -A
주의사항
- 업그레이드 중에는 노드 풀 추가/삭제/스케일 등 다른 클러스터 관리 작업을 수행할 수 없습니다.
- 업그레이드는 시작 후 취소할 수 없습니다.
- 단일 노드 클러스터는 노드 업그레이드 중 잠깐의 서비스 중단이 발생할 수 있습니다.