핵심 개념

이 페이지는 Cluma 안에서 쓰는 용어를 한 자리에 모아 설명합니다. 다른 문서에서 모르는 단어가 나오면 이곳을 펼쳐서 확인하시기를 권장합니다.


유저 (User)

Cluma에 로그인하는 사용자 계정입니다. 모든 유저는 관리자 또는 일반 사용자 중 하나의 역할을 갖습니다.

관리자 (Admin)

플랫폼 전체를 운영하는 사람입니다.

  • 유저 만들기 · 고치기 · 지우기
  • 그룹 만들기 · 고치기 · 지우기
  • 유저를 그룹에 넣거나 빼기
  • 전체 클러스터 사용 현황 보기
  • 노드, 이미지 저장소 등 인프라 관리
  • 모든 사용 이력(감사 로그) 조회

일반 사용자 (Regular User)

자기 그룹 안에서 작업하는 사람입니다.

  • 소속 그룹의 한도 안에서 컨테이너 만들기
  • 스토리지 만들기, 컨테이너에 붙이기
  • 홈 화면에서 자기 그룹 가용량 확인
  • 그룹 바꾸기는 직접 못 합니다 (관리자에게 요청)

그룹 (Group)

유저들을 묶고, 같이 쓸 자원의 상한선을 정해두는 단위입니다.

  • 한 유저는 여러 그룹에 속할 수 있습니다. 화면 위쪽 그룹 선택 메뉴에서 지금 활성으로 쓸 그룹을 바꿉니다.
  • 그룹마다 CPU, 메모리, GPU 등 가속기, 스토리지의 최대 용량을 정합니다.
  • 새 유저는 처음에 Default 그룹에 자동으로 들어갑니다.
  • 그룹은 Kubernetes 위에서 별도의 작업 공간(네임스페이스) 으로 분리됩니다. 다른 그룹과 자료가 섞이지 않고, 외부에서 임의로 들어올 수도 없습니다.
그룹 A (CPU: 32 코어 / 메모리: 128GB / GPU: 4개)
├── 유저 1
├── 유저 2
└── 유저 3

인스턴스 (Instance)

컨테이너를 만들 때 고르는 CPU·메모리·GPU 묶음입니다. 노드에 실제로 남아 있는 자원을 보고 Cluma가 자동으로 만들어 보여줍니다.

보기
노드가 CPU 16코어 · 메모리 125GB · GPU 3개를 갖고 있을 때 → GPU 1개를 쓰는 인스턴스 = CPU 5코어 · 메모리 41GB
  • 노드 정보가 없으면 GPU 1개당 CPU 4코어 · 메모리 16GB로 잡아 만듭니다.
  • GPU가 없는 노드에는 CPU만 쓰는 인스턴스가 보입니다.
  • GPU가 있는 노드에는 GPU를 1개 이상 쓰는 인스턴스만 보입니다.

컨테이너 (Container)

Cluma에서 실제로 작업하는 GPU 개발 환경입니다. Kubernetes의 배포 단위(Deployment) 위에서 동작해서, 노드 한 대가 잠시 꺼져도 다른 노드로 옮겨 다시 살아나는 안정성을 갖습니다.

구성 요소

항목 설명
이미지 어떤 환경을 띄울지 정하는 Docker 이미지
인스턴스 CPU · 메모리 · GPU 묶음
표준 접속 포트 VS Code · SSH · Jupyter — 자동 노출
사용 시간 1시간 / 4시간 / 1일 / 7일 / 30일 / 제한 없음 — 만료되면 자동 종료
스토리지 마운트 영구 보관할 폴더를 컨테이너 안 어떤 경로에 연결할지
공유 메모리 (Shared Memory) /dev/shm 크기. PyTorch DataLoader 같은 멀티프로세스에서 자주 필요. 비활성 시 K8s 기본(약 64 MB)
환경 변수 컨테이너가 시작할 때 넣어줄 값
자동 비밀번호 컨테이너마다 비밀번호가 자동으로 발급됩니다. SSH · VS Code · Jupyter가 같은 비밀번호를 씁니다.

표준 접속 포트

새 컨테이너에는 세 가지 접속 길이 항상 미리 열려 있습니다. 사용자가 따로 설정할 필요가 없습니다.

이름 컨테이너 안 포트 용도
vscode 8443 브라우저에서 여는 VS Code (code-server)
ssh 22 SSH 터미널 접속
jupyter 8888 브라우저에서 여는 JupyterLab

사용 시간 (Expiry)

컨테이너는 만료 시간을 가집니다. 만료 시각이 되면 컨테이너가 자동으로 정리되어 GPU가 다른 작업으로 풀려납니다.

  • 만들 때 1시간 / 4시간 / 1일 / 7일 / 30일 / 제한 없음 중에서 고릅니다.
  • 상세 화면에 남은 시간 이 항상 표시됩니다 (90% 가까워지면 경고 색).
  • 자료를 잃지 않으려면 스토리지에 옮겨 두세요.

템플릿 (Template)

자주 쓰는 컨테이너 설정을 그룹 안에서 공유하는 묶음입니다.

  • 이미지 · 인스턴스 · 환경 변수 · 마운트한 스토리지 · 공유 메모리 설정이 그대로 저장됩니다.
  • 그룹 멤버 누구나 템플릿을 골라 같은 환경을 한 번에 만들 수 있습니다.
  • 템플릿이 기억하던 스토리지가 사라졌다면, 그 템플릿으로는 새 컨테이너를 만들 수 없습니다. 화면이 이유를 알려 줍니다.

스토리지 (Storage)

컨테이너가 사라져도 자료는 그대로 두기 위한 영구 보관 공간입니다. Kubernetes의 영구 저장소 단위 위에서 동작합니다.

스토리지 유형

관리자가 클러스터에 등록한 저장소 유형(NFS, Local 등) 중에서 골라 만듭니다.

접근 범위

  • Group: 같은 그룹에 속한 사람이 모두 공유 (현재 기본값)

이미지 (Image)

컨테이너를 띄울 때 쓰는 Docker 이미지입니다.

  • 관리자가 등록한 이미지 저장소에서 골라 쓸 수 있습니다.
  • 외부에 공개된 이미지 주소를 직접 입력해서 쓸 수도 있습니다.
  • 일반 사용자도 자기만의 이미지를 등록해서 재사용할 수 있습니다.

가속기 (Accelerator) / GPU 분할 (MIG)

Cluma는 NVIDIA GPU 외에도 다양한 가속기를 다룰 수 있게 가속기 유형이라는 한 단계 상위 개념으로 다룹니다.

  • 그룹마다 가속기 유형별로 몇 개까지 쓸지 정합니다 (예: NVIDIA A100 4장).
  • 인스턴스 카드에는 가속기 모델명과 개수가 함께 보입니다 (예: A100 × 2).
  • NVIDIA의 GPU 분할 기능(MIG, Multi-Instance GPU) 을 켜면, GPU 한 장을 여러 조각으로 쪼개 여러 작업에 나눠 줄 수 있습니다.

보안 격리

그룹마다 작업 공간이 분리되면서, 두 가지 보호막이 자동으로 씌워집니다.

보호막 효과
기본 보안 정책 hostNetwork / hostPort / 특권(privileged) 같은 위험한 옵션을 쓰는 컨테이너를 거부
그룹 간 네트워크 차단 다른 그룹과 직접 통신 금지. 표준 접속 포트만 외부에서 열림

Cluma 안에서 만드는 일반 컨테이너에는 영향이 없고, 외부에서 임의로 매니페스트를 만들어 들이밀 때만 막힙니다.


감사 로그 (Audit Log)

누가 · 언제 · 무엇을 했는지 자동으로 기록되는 이력입니다.

  • 로그인 / 로그아웃
  • 컨테이너 · 스토리지 · 사용자 · 그룹 · 템플릿 · 이미지 저장소의 만들기·고치기·지우기
  • 성공 여부, 결과 코드, 처리 시간

감사 로그 페이지는 관리자만 볼 수 있습니다.


자주 나오는 용어 한눈에 보기

용어 의미
노드 (Node) 클러스터를 구성하는 한 대의 서버
Pod 컨테이너가 실제로 실행되는 가장 작은 단위
인스턴스 CPU · 메모리 · GPU 묶음. 컨테이너를 만들 때 고름
그룹 유저 + 자원 한도 묶음
작업 공간 (Namespace) Kubernetes가 그룹마다 만드는 격리된 공간
스토리지 영구 보관 공간
가속기 GPU 같은 연산 보조 장치
표준 접속 포트 컨테이너에 자동으로 열려 있는 VS Code · SSH · Jupyter 포트
사용 시간 컨테이너 만료까지 남은 시간. 만료되면 자동 정리
공유 메모리 컨테이너 안 /dev/shm 크기. 멀티프로세스 학습에 자주 늘림
작업 배치 제외 (Drained) 새 작업을 더 이상 받지 않게 잠시 빼둔 노드 상태
감사 로그 누가 무엇을 했는지 자동으로 남는 이력

다음 단계