Kurly, Karpenter로 MLOps 환경 구축!
by DD
3년 전
조회수 2
Kurly는 MLOps 플랫폼 구축을 위해 Karpenter를 도입하여 GPU 자원 관리 자동화를 시도함
Karpenter는 Kubernetes 환경에서 Node Auto Scaling을 대체하여 유연한 자원 관리를 지원함
GPU Provisioning 및 Deprovisioning 자동화를 통해 자원 낭비 방지 및 개발 생산성 향상을 기대함
Karpenter: Kubernetes 자원 관리 혁신
Karpenter는 Kubernetes 환경에서 Node Auto Scaling을 대체하는 오픈소스 프로젝트이다. 구체적으로, Pod 스케줄링을 감시하고, 필요한 경우 자동으로 EC2 인스턴스를 프로비저닝한다. 따라서, 기존 Cluster Auto Scaler보다 빠르고 유연한 자원 관리가 가능하다.
GPU 자원 효율적 관리: Provisioning & Deprovisioning
Kurly는 GPU 자원 관리를 위해 Karpenter를 활용하여 Provisioning과 Deprovisioning을 자동화했다. 따라서, Jupyter Notebook 사용 시 GPU를 쉽게 할당받고, 사용 종료 시 자동으로 반납하는 구조를 구현했다. 반면, NVDP 설정을 통해 GPU 사용 환경을 구축해야 한다.
Karpenter 활용 팁: Affinity & Consolidation
Karpenter를 활용한 GPU 자원 관리 시, Affinity 설정을 통해 GPU 노드에 특정 Pod가 할당되지 않도록 해야 한다. 구체적으로, Anti Node Affinity를 사용하여 GPU 자원 낭비를 방지한다. 따라서, Consolidation 기능을 통해 노드 비용을 절감할 수 있다.