콘텐츠로 이동
Study Note온프렘 GPU 플랫폼

개요

GPU Operator는 GPU를 Pod가 쓸 수 있게 만들고, KServe는 모델 서버를 원하는 상태로 유지한다

이 덱은 학습이나 batch queue를 설계하지 않는다. 사내 앱이 LLM·embedding·reranker·FastAPI 모델을 안정된 API로 호출하게 만드는 상시 inference 경로만 따라간다.

이용자에게 보이는 층의 앱과 LiteLLM, 모델 서빙을 관리하는 층의 Gateway·모델 Pod·KServe controller·Git, GPU 노드를 준비하는 층의 Kubernetes·GPU Operator·GPU 노드를 세 층으로 나눈 전체 구조

그림을 위에서 아래로 읽는다. 요청은 앱 → LiteLLM → Gateway/Service → 모델 Pod로 흐른다. 반면 운영 명령은 Git → KServe → Kubernetes 객체로 흐른다. GPU Operator는 요청을 처리하지 않고, 맨 아래에서 노드의 GPU를 Kubernetes 자원으로 보이게 만든다.

이 구분만 잡으면 제품 이름이 덜 헷갈린다.

궁금한 것답을 맡는 구성요소
누가 이 API를 얼마나 호출할 수 있나LiteLLM
모델 서버를 몇 개 띄우고 죽으면 누가 복구하나KServe + Kubernetes
어떤 image·명령으로 모델을 실행하나ServingRuntime 또는 custom predictor
어느 GPU pool에 놓이나Kubernetes label·taint·resource request
Pod 안에서 GPU가 보이게 누가 준비하나GPU Operator
GPU가 아픈지 어떻게 아나DCGM Exporter + Prometheus
첫 장부터 읽기
  1. 0~1장큰 그림과 자원 지도

    추론 요청과 제어 흐름 · Spark·A100·B300을 서로 다른 resource island로 보는 법

    각 제품이 어느 층에서 무슨 문제를 푸는가

  2. 2장GPU Operator

    driver·Container Toolkit·device plugin·GFD·MIG·DCGM이 이어지는 과정

    GPU가 어떻게 Pod가 요청할 수 있는 자원이 되는가

  3. 3장KServe

    InferenceService·ServingRuntime·controller·Standard mode와 LLMInferenceService

    한 줄의 선언이 어떻게 실행 중인 모델 서버가 되는가

  4. 4~5장요청과 운영

    LiteLLM부터 model Pod까지 · streaming·SLO·용량·timeout·rollout

    실제 요청이 어디를 지나고, 느릴 때 어디부터 보는가

  5. 6장데이터와 연결

    model artifact·local cache · Gateway·RDMA · 요청과 GPU 관측 연결

    빠른 GPU를 다운로드와 network가 굶기지 않게 하는 법

  6. 7장전환

    Spark PoC → B300 greenfield → A100 한 대씩 · traffic과 node rollback

    기존 inference endpoint를 잃지 않고 어떻게 옮기는가

  7. 8장운영 카드

    전체 지도 · 구성요소 선택표 · 도입 체크리스트 · 장애 확인 순서

  • 첫 서비스는 KServe Standard InferenceService로 만든다.
  • 지능형 routing·다중 노드 추론·prefill/decode 분리가 실제로 필요할 때만 LLMInferenceService를 붙인다.
  • LiteLLM에는 Pod IP가 아니라 KServe가 유지하는 안정된 endpoint를 등록한다.
  • GPU Operator가 설치됐다는 사실보다 실제 CUDA Pod, node label, DCGM metric까지 이어지는지가 중요하다.
  • Spark·A100·B300은 label·taint·runtime image가 다른 pool로 둔다.
  • 공통 GitOps·인증·registry·관측을 사용하되 Spark와 datacenter GPU는 별도 실행 cluster도 허용한다.

2026년 8월 18일 기준으로 KServe와 NVIDIA 공식 문서를 확인했다. 특히 LLMInferenceService의 API와 의존성, B300 driver 지원은 변화가 빠르므로 실제 도입 때 선택한 release 문서를 다시 확인한다.