> For the complete documentation index, see [llms.txt](https://liqpod.gitbook.io/liqpod/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://liqpod.gitbook.io/liqpod/hosting/components.md).

# 서비스 구성 요소 안내

{% hint style="info" %}
liqpod는 GPU 연산을 위한 컨테이너 기반의 호스팅 서비스를 제공합니다.\
이 문서에서는 서비스의 핵심 기능인 **컨테이너 호스팅**, **템플릿**, **스토리지**에 대한 개념과 사용 방법을 설명합니다.
{% endhint %}

## 컨테이너 호스팅

컨테이너 호스팅은 사용자가 원하는 환경(Docker 이미지 기반)을 선택하여 GPU 서버를 임시로 실행하고, 연산 작업을 수행한 뒤 종료할 수 있도록 하는 **온디맨드 방식의 클라우드 서비스**입니다.

liqpod에서는 Kubernetes 기반의 인프라를 사용하여, 필요한 시점에 빠르게 컨테이너를 기동하고 GPU 리소스를 할당할 수 있습니다.

### 특징

1. **템플릿 기반 실행**\
   사용자는 사전에 생성한 템플릿을 통해 컨테이너를 쉽게 실행할 수 있습니다.\
   liqpod는 공식 템플릿을 제공하며, 다른 사용자가 공개한 템플릿도 사용할 수 있습니다.\
   템플릿에는 사용될 Docker 이미지, 환경변수, 실행 커맨드, 포트 정보 등이 포함됩니다.
2. **노드 선택**\
   컨테이너는 원하는 리전 및 노드(GPU 종류와 사양이 상이함)를 선택하여 실행할 수 있습니다.\
   이는 워크로드 특성에 따라 최적의 GPU 환경을 설정할 수 있도록 도와줍니다.
3. **스토리지 연동 지원**\
   컨테이너 실행 시, 별도로 생성한 스토리지를 연결하여 데이터를 영속적으로 보관할 수 있습니다.\
   스토리지를 연결하지 않은 경우, 컨테이너 종료와 함께 모든 데이터가 소멸됩니다

***

## 템플릿

템플릿은 반복적으로 사용하는 **Docker 기반 실행 환경을 사전 정의**한 구성입니다.\
각 템플릿은 다음 요소를 포함할 수 있습니다:

* Docker 이미지 (예: `pytorch/pytorch:2.2.0-cuda12.1-cudnn8-runtime`)
* 환경변수 목록
* 실행 커맨드
* 포트 설정

템플릿을 사용하면, 매번 복잡한 설정을 반복하지 않고 클릭 한 번으로 컨테이너를 생성할 수 있습니다.

사전에 생성된 liqpod 공식 템플릿을 사용하면 liqpod에 더욱 최적화된 이미지 사용이 가능합니다.

### Docker 이미지란?

Docker 이미지는 컨테이너 실행에 필요한 애플리케이션과 라이브러리, 설정을 포함하는 **실행 환경의 스냅샷**입니다.\
딥러닝 프레임워크, 유틸리티, 개발 도구 등을 포함한 이미지를 사용하면 복잡한 환경 설정 없이 바로 작업을 시작할 수 있습니다.

liqpod는 다음의 공개 이미지 저장소를 지원합니다:

* Docker Hub
* GitHub Container Registry
* 기타 공개 Docker 레지스트리 (URL로 직접 지정 가능)

liqpod는 다음의 비공개 이미지 저장소를 지원합니다:

* Docker Hub
* GitHub Container Registry
* 표준 V2 API 지원 레지스트리 (베타)

***

## 스토리지

스토리지는 **컨테이너와 분리되어 존재하는 데이터 저장 공간**입니다.\
Kubernetes 기반 구조에서는 컨테이너가 일시정지되거나 삭제되면 해당 컨테이너의 파일 시스템은 소멸합니다. 따라서 데이터를 유지하기 위해 별도의 스토리지를 연동해야 합니다.

liqpod는 사용자 지정 스토리지를 제공합니다:

* **데이터 영속성 보장**\
  컨테이너를 종료하거나 일시정지하더라도 데이터가 유지됩니다.
* **리전 종속성**\
  스토리지는 특정 리전(데이터센터)에서 생성되며, **같은 리전에 속한 노드에만 연동이 가능합니다**.\
  따라서 스토리지를 연결하려면 반드시 동일 리전의 노드를 선택해야 합니다.
* **다중 컨테이너 간 공유**\
  동일한 스토리지를 여러 컨테이너에서 동시에 마운트할 수 있어, 팀 협업 및 반복 학습 시 유용합니다.

{% hint style="info" %}
비공개 이미지를 사용하기 위해선 [계정 설정 - 계정](https://liqpod.cloud/dashboard/settings/account)에서 해당 레지스트리를 인증하기 위한 토큰이 사전에 등록되어 있어야 합니다.
{% endhint %}
