기본 구성은 서버 한 대(단일 노드) 에 앱과 k3s 를 함께 설치.

하드웨어

항목요구 사항
CPU 아키텍처amd64(x86_64) 또는 arm64(aarch64). Compose 의 모든 이미지는 두 아키텍처를 모두 지원하는 버전으로 고정.
GPUNVIDIA GPU (학습·GPU 서빙에 필요). GPU 가 없어도 플랫폼은 실행되지만, GPU 가 필요한 학습(예: 포인트 클라우드 학습)은 제출 거부.
메모리앱 컨테이너 상한은 기본 16 GB(GEO_APP_MEM_LIMIT). 여기에 Postgres·RustFS 와 학습 파드가 사용할 메모리를 더해 산정. 학습 파드 하나의 상한은 기본 64 GiB(GEO_MLOPS_TRAINING_RUNTIME_MEMORY_LIMIT).
디스크데이터셋·모델 아티팩트·컨테이너 이미지 모두 RustFS(도커 볼륨)에 저장. 백업은 같은 디스크에 두지 않음. 별도 디스크나 NAS 를 하나 더 준비.

소프트웨어

항목용도비고
Linux서버 OS백업 타이머 사용에 systemd 필요
Docker Engine + Compose v2앱과 부속 서비스 실행docker compose 명령 동작 필요. Compose 파일의 env_file 이 required: false 문법을 사용하므로 Compose 2.24 이상 필요.
k3s학습·빌드·서빙 파드 실행앱이 /etc/rancher/k3s/k3s.yaml 로 접속
NVIDIA 드라이버 + NVIDIA Container Toolkit파드에서 GPU 사용k3s 가 nvidia 런타임을 찾을 수 있어야 함
NVIDIA device plugin노드가 GPU 를 nvidia.com/gpu 자원으로 클러스터에 알림설치 파일 함께 제공. k3s·GPU 준비 참고.
RuntimeClass nvidiaGPU 파드가 드라이버에 접근하는 경로이름은 반드시 nvidia(GEO_MLOPS_SERVING_GPU_RUNTIME_CLASS)

포트

모든 포트는 서버의 0.0.0.0 에 열림. 외부 요청이 도달하는 포트는 10000 하나(API·MLflow·레지스트리), 나머지는 서버 내부와 클러스터 파드에서만 사용. 방화벽은 10000(또는 앞단 프록시의 443)만 외부에 개방. 웹 화면은 정적 파일이므로 별도의 웹 서버나 정적 호스팅에 배포. 방법은 Docker Compose 로 설치의 "웹 화면 배포" 참고.

포트서비스사용처
10000앱 (웹 화면용 API, /mlflow, 컨테이너 레지스트리 /v2)사용자 브라우저, MLflow 클라이언트, 엣지 장비, 클러스터 파드
5433PostgreSQL (앱과 MLflow 가 함께 사용)앱, 백업 스크립트
9000RustFS S3 API앱, 학습 파드(데이터셋 스테이징)
9001RustFS 웹 콘솔운영자(필요한 경우만)
9090Prometheus앱(콘솔 화면에 대신 표시)
9093Alertmanager앱(콘솔 화면에 대신 표시)
5000proxpi (pip 패키지 캐시)빌드 파드
3142apt-cacher-ng (apt 패키지 캐시)빌드 파드

다음: 구성 요소

2026-10-02 기준 플랫폼으로 작성

© MLOps Central Platform