피드로 돌아가기
Dev.toInfrastructure
원문 읽기
RollingUpdate의 GPU 점유 교착 상태를 Recreate 전략으로 해결
Ollama on Kubernetes: Recreate Strategy and Single-GPU Deadlock
AI 요약
Context
Kubernetes 환경에서 단일 GPU를 사용하는 Ollama 배포 시 RollingUpdate 전략 채택으로 인한 Scheduling Deadlock 발생. 기존 Pod가 GPU 자원을 점유한 상태에서 신규 Pod가 스케줄링을 시도하며 상호 대기 상태에 진입하는 구조적 한계 노출.
Technical Solution
- Deployment 전략을 RollingUpdate에서 Recreate로 변경하여 기존 Pod의 완전한 종료 후 신규 Pod를 생성하는 순차적 자원 해제 구조 설계
- NVIDIA_VISIBLE_DEVICES 환경 변수 설정 및 NVIDIA container runtime 마운트를 통한 GPU 하드웨어 가속 인터페이스 초기화 보장
- 모델 저장소 용량 부족으로 인한 Pending 상태 방지를 위해 PVC 크기를 50Gi에서 100Gi로 확장하여 Storage capacity 제약 해결
- ReadWriteOnce 액세스 모드 기반의 PVC 설정을 통한 단일 노드 내 전용 스토리지 바인딩 최적화
- GPU 독점 사용 권한이 필요한 워크로드의 특성을 고려한 배포 생명주기 제어 로직 적용
실천 포인트
- GPU 독점 자원을 사용하는 Single Replica 워크로드의 경우 Deployment Strategy를 Recreate로 설정했는지 확인 - NVIDIA Container Toolkit 설치 여부 및 NVIDIA_VISIBLE_DEVICES 환경 변수 설정 값 검증 - 사용할 LLM 모델의 최대 크기를 계산하여 PVC Request Storage 용량을 충분히 할당했는지 검토 - Storage Class(예: Longhorn)의 가용 물리 공간이 PVC 요청 크기를 수용 가능한지 확인