Cluma 기술 문서
Cluma는 사내에 직접 구축한 GPU 서버들을 손쉽게 관리하고, 그 위에서 누구나 빠르게 GPU 개발 환경을 띄울 수 있게 해 주는 플랫폼입니다.
어떤 분이 보면 좋은가요?
- GPU 서버를 운영하는 인프라 담당자
- 인프라를 잘 몰라도 GPU 환경이 필요한 AI/ML 엔지니어
문서 안내
처음 보시는 분은 핵심 개념을 먼저 훑으시면 다른 페이지가 더 잘 읽힙니다. 어려운 단어는 모두 거기에 정리해 두었습니다.
Cluma가 해 주는 일
사람과 권한
- 관리자와 일반 사용자 권한을 나눠 운영합니다.
- 유저를 그룹으로 묶고, 그룹마다 쓸 수 있는 자원의 상한선을 정합니다.
- 누가 언제 무엇을 했는지 자동으로 기록됩니다 (관리자가 조회).
GPU 개발 환경
- 노드 한눈에 보기: 로그인 후 보이는 홈 화면이 곧 클러스터 예약 화면입니다. 노드 카드를 누르는 순간 컨테이너 만들기가 시작됩니다.
- 인스턴스 카탈로그: CPU · 메모리 · GPU 묶음을 노드 사정에 맞춰 자동으로 만들어 보여줍니다. 사용자는 그 중에서 고르기만 하면 됩니다.
- 템플릿으로 한 번에 만들기: 자주 쓰는 설정을 템플릿으로 저장해 두면, 다음에는 한 번 클릭으로 같은 환경이 만들어집니다.
- 접속 포트가 자동으로 열림: VS Code(8443) · SSH(22) · JupyterLab(8888) 세 가지가 컨테이너마다 미리 준비되어 있습니다. 컨테이너 상세 화면의 카드 버튼으로 곧장 들어가면 됩니다.
- 자동 비밀번호: 컨테이너마다 비밀번호가 자동으로 만들어집니다. SSH · VS Code · Jupyter를 한 비밀번호로 들어갈 수 있습니다.
- 사용 시간 제한: 컨테이너에 만료 시간을 두어 GPU가 한 곳에 묶여 있지 않도록 합니다.
- 컨테이너 상태 진단: 컨테이너가 안 뜰 때 무엇 때문인지 한 번 클릭으로 살펴볼 수 있습니다.
- 메모리 · 디스크 사용량 게이지: 컨테이너 상세 화면에 사용량 막대가 항상 보입니다 (75% 노랑 / 90% 빨강).
- 같은 NUMA 안에서 CPU 묶기: 성능을 더 끌어올려야 할 때 켜는 옵션입니다.
스토리지
- 클러스터에 등록된 저장소 유형(NFS, Local 등) 중에서 골라 만듭니다.
- 같은 그룹 안에서 공유할 수 있습니다.
- 그룹 안에서 얼마나 썼고 얼마나 남았는지 한 줄로 보입니다.
이미지
- 여러 사내 이미지 저장소를 등록해 한 곳에서 관리합니다.
- 등록된 저장소를 탐색해 이미지를 골라 쓸 수 있습니다.
- Docker Hub 같은 외부 주소를 직접 입력해도 됩니다.
- 일반 사용자도 자기만의 이미지를 등록해 두고 재사용할 수 있습니다.
사용 현황 보기
- 홈 화면 요약: 내 컨테이너 수, 내 자원 점유량, 우리 그룹의 가용 GPU, 클러스터 점유율이 한눈에 보입니다.
- 관리자 대시보드: 전체 사용량과 그룹별 사용량을 표와 파이 차트로. 70%가 넘으면 노란색, 90%가 넘으면 빨간색으로 강조됩니다.
- 클러스터 페이지: 상태 · 분포 · 사용량 · 모니터링 · 스토리지 다섯 개 탭이 한 화면에 들어 있습니다.
- Grafana 연동: 시간에 따른 사용량 추이는 모니터링 탭에서 Grafana로 이동해 봅니다.
안전한 사용
- 그룹마다 작업 공간을 나누고, 위험한 옵션을 쓰는 컨테이너는 자동으로 거부합니다.
- 그룹 간 네트워크가 차단되어 다른 그룹 자료를 들여다볼 수 없습니다.
- 사용자 데이터는 데이터베이스 안에서도 본인 것만 보이도록 한 번 더 걸러집니다.
클러스터 운영 (관리자)
- 노드를 등록하고 점검할 때는 작업 배치에서 잠시 빼둘 수 있습니다.
- 네트워크 / 메모리 / 디스크 / 프로세스 한도 같은 노드 상태를 한눈에 봅니다.
- GPU 한 장을 여러 조각으로 나눠 쓰는 GPU 분할 기능(MIG)을 지원합니다.
- 사내 이미지 저장소를 등록해 사용자에게 열어 줍니다.