목록 보기
Kurly만의 MLOps 구축하기 - 초석 다지기
AI

Kurly만의 MLOps 구축하기 - 초석 다지기

마켓컬리
마켓컬리
2022년 10월 25일

두줄요약

Kubernetes 기반 MLOps 환경에서 GPU 자원 운영 부담을 줄이기 위한 기반을 설계했습니다. Karpenter와 NVDP로 GPU 노드의 자동 생성·회수 흐름을 구성했습니다.

문제 상황

  • ML 애플리케이션 증가에 따른 GPU 자원 요청·모니터링의 엔지니어 운영 부담
  • Kubernetes 기반 JupyterHub·Airflow·MLflow 환경에서 독립적으로 운영되던 ML 도구와 고비용 GPU 관리 문제

해결 방법

  • Jupyter Notebook의 GPU 요청 시 GPU 노드 생성, 종료 시 노드 회수를 목표로 한 자동 프로비저닝 구조 설계
  • Karpenter Provisioner의 GPU 요구사항·인스턴스 제약 설정과 NVDP 데몬셋 기반 NVIDIA 디바이스 플러그인 설치

구조와 흐름

  • 스케줄 불가 Pod 감시 후 Provisioner 조건에 맞는 워커 노드 생성 및 Pod 바인딩
  • GPU 학습 요청부터 노드 생성, NVIDIA 플러그인 설치, 학습 가능 노드 준비로 이어지는 흐름
  • 불필요 노드 제거를 위한 Karpenter의 노드 라이프사이클 관리와 Consolidation 옵션 활용

주의할 점

  • GPU 비사용 Pod의 GPU 노드 배치로 인한 Deprovisioning 지연 방지를 위한 Anti Node Affinity·Node Affinity 적용
  • Consolidation 설정 검증 오류 발생 시 Karpenter 버전뿐 아니라 CRD 업그레이드 확인

컬리 계열사 채용12건

채용 사이트에서 전체 보기

다음 읽기

#MLOps 주제를 이어서 읽기

Kurly만의 MLOps 구축하기 - 초석 다지기

컬리의 MLOps 구축 초기에 GPU 노드 자동화와 Karpenter 도입 과정을 소개했습니다. NVDP, affinity, consolidation 이슈까지 포함해 운영 포인트를 정리했습니다.

마켓컬리
마켓컬리
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...