26M24b

Young-Kyoo Kim·2026년 3월 24일

Version Upgrade (WIP)

📋 업그레이드 전 필수 확인사항

1. 버전별 주요 변경사항

  • DirectPV 5.1.0 이상: 라이센스가 더 이상 필요하지 않음 (기존 라이센스 설정은 무시됨)
  • DirectPV 5.0.x: 라이센스 필요
  • DirectPV 4.1.x 이하: 구버전으로 별도 마이그레이션 절차 필요

2. 사전 준비사항

  • Kubernetes 버전: 1.29 이상 필수
  • Helm 설치: 최신 버전의 Helm이 설치되어 있어야 함
  • 기존 설정 백업: helm get values -n directpv 명령으로 현재 설정 백업
  • Release Notes 확인: 현재 버전과 목표 버전 사이의 모든 변경사항 검토

3. 🚨 운영 환경 업그레이드 전 필수사항

  • 테스트 환경에서 먼저 검증: Dev/QA/Staging 환경에서 업그레이드를 먼저 테스트하고 검증
  • 다운타임 계획: 업그레이드 중 서비스 중단 가능성을 고려하여 유지보수 시간대에 진행
  • 롤백 계획 수립: 문제 발생 시 이전 버전으로 복구할 수 있는 계획 준비
  • SUBNET 지원: 프로덕션 환경 업그레이드 시 SUBNET을 통한 전문가 지원 고려

🔄 업그레이드 시나리오별 절차

시나리오 1: Helm으로 설치된 DirectPV 4.1.x → 최신 버전

1. 기존 설정 확인 및 백업

helm get values -n directpv > directpv-backup-values.yaml

2. Helm 업그레이드 실행

기본 업그레이드:

helm upgrade directpv minio/directpv

커스텀 설정이 있는 경우:

helm upgrade directpv minio/directpv -f directpv-values.yaml --reuse-values

3. 업그레이드 검증

kubectl get all -n directpv

4. DirectPV 플러그인 업그레이드

최신 플러그인 다운로드 및 설치 (https://dl.min.io/aistor/directpv/release/)

시나리오 2: 🔧 Plugin 기반 설치 → Helm 기반 업그레이드 (중요)

⚠️ **주의:** Plugin으로 설치된 DirectPV를 Helm으로 마이그레이션하는 경우, 기존 리소스의 소유권을 Helm으로 이전해야 합니다. 잘못 진행하면 리소스 충돌이 발생할 수 있습니다.

1. 현재 설치 상태 확인

kubectl get all -n directpv

현재 실행 중인 모든 Pod와 서비스의 상태를 확인하고 기록합니다.

2. MinIO Helm Repository 추가

helm repo add minio https://helm.min.io
helm repo update

3. Helm Repository 확인

helm search repo minio

4. Helm으로 소유권 이전 및 업그레이드

helm upgrade --install --take-ownership --force directpv minio/directpv

옵션 설명:

  • --install: Helm 릴리스가 없으면 새로 생성
  • --take-ownership: 기존 리소스의 소유권을 Helm으로 이전
  • --force: 필요시 리소스를 강제로 재생성

5. 업그레이드 검증

kubectl get all -n directpv
helm list -n directpv

Helm이 DirectPV를 관리하고 있는지 확인합니다.

6. 플러그인 업그레이드

최신 버전의 DirectPV 플러그인으로 업데이트합니다.

시나리오 3: DirectPV 4.x.x → 4.1.5 미만 버전

⚠️ **중요:** Uninstall은 비파괴적 프로세스로, 기존 Persistent Volume은 삭제되지 않습니다.

1. DirectPV 제거

kubectl directpv uninstall

2. 최신 버전으로 재설치

설치 문서를 참고하여 최신 버전 설치

시나리오 4: DirectPV 4.x.x 이전 버전

  • 먼저 4.1.5로 업그레이드
  • SUBNET 티켓 생성 (커뮤니티 버전에서 마이그레이션하는 경우 전문가 지원 요청)
  • 4.1.5에서 최신 버전으로 업그레이드

🛡️ 운영 환경 업그레이드 시 주의사항

1. 중단 최소화를 위한 전략

  • 유지보수 시간대 선정: 트래픽이 가장 적은 시간대에 업그레이드 수행
  • 롤링 업데이트: Helm은 기본적으로 롤링 업데이트를 수행하지만, 완전한 무중단은 보장되지 않음
  • 모니터링 강화: 업그레이드 전후로 시스템 메트릭과 로그를 면밀히 모니터링

2. Plugin → Helm 마이그레이션 특별 주의사항

  • 리소스 충돌 방지: --take-ownership 옵션을 반드시 사용하여 기존 리소스의 소유권을 Helm으로 이전
  • 네임스페이스 확인: DirectPV가 설치된 네임스페이스를 정확히 지정
  • Custom 설치의 경우: kubectl directpv migrate를 사용하여 리소스를 새 설치로 마이그레이션

3. 라이센스 관련 주의사항

  • 5.0.x 업그레이드: 라이센스가 필요하므로 사전에 준비
  • 5.1.0 이상: 라이센스 불필요, 기존 라이센스 설정은 제거 가능

4. 검증 체크리스트

  • 모든 Pod가 Running 상태인지 확인
  • 기존 Persistent Volume이 정상적으로 마운트되는지 확인
  • 애플리케이션이 스토리지에 정상적으로 접근할 수 있는지 테스트
  • DirectPV 플러그인 명령어가 정상 작동하는지 확인

📝 플러그인 업그레이드 절차

1. 최신 플러그인 다운로드

https://dl.min.io/aistor/directpv/release/ 에서 운영체제와 아키텍처에 맞는 플러그인 다운로드

2. 시스템 PATH로 이동

sudo mv kubectl-directpv /usr/local/bin/

3. 실행 권한 부여

chmod a+x /usr/local/bin/kubectl-directpv
💡 **권장사항:** 프로덕션 환경에서 DirectPV 업그레이드를 진행하기 전에 반드시 테스트 환경에서 동일한 절차를 먼저 수행하고, 문제가 없음을 확인한 후 진행하세요. 필요시 MinIO SUBNET 지원팀의 도움을 받으시기 바랍니다.

0개의 댓글