Kukie Serving.03 ServedModel Operator

Kukie Serving.03 ServedModel Operator

Building kukie-oven, a Go operator that turns one ServedModel into a PVC, a download Job and a vLLM Deployment — the reconcile order, two server-side-apply field managers, telling someone else’s object from a leftover, Helm and GHCR packaging, an EBS CSI role limited by a tag boundary, and the first real run on an L40S: Ready in 14 minutes 11 seconds with no manual step.

Kukie Serving.02 GPU Add-on Design

Kukie Serving.02 GPU Add-on Design

Why an external LLM API plan became a Helm add-on for users’ GPU clusters — quality and cost numbers behind the pivot, three layers split by required permissions, a chart with per-layer switches and a preflight job, the measurement-to-429 loop, an honest comparison with KubeAI and LiteLLM, and what is built versus still planned.

Kukie GitOps.04 Finding Helm Values

Kukie GitOps.04 Finding Helm Values

Finding which values key controls a rendered field in 21 public Helm charts — judging keys by marker rendering, narrowing candidates, why 18 of 209 fields were missed, comparing code with an LLM on five charts, and what a single render costs.

Kukie Serving.01 Baseline on One L40S

Kukie Serving.01 Baseline on One L40S

Measuring how many concurrent requests one NVIDIA L40S serves within a latency SLA before building a GPU cluster — the SLA draft as TTFT and inter-token latency, a single g6e.xlarge with two stop guards, a measurement script split from the server so it can run as a Kubernetes Job, results for four open models, why MoE models outrun a dense 27B on memory bandwidth, KV cache FP8 for 20% more headroom, and two review fixes.

Concurrency

같은 순간 LLM 서버가 처리 중인 요청 수. 늘리면 처리량은 늘다가 평평해지고 지연은 어느 지점부터 꺾여 오른다. SLA 를 넘기 직전 값이 GPU 한 장이 받는 양이다.

Goodput

SLA 를 지킨 요청만 센 처리량. 처리량은 끝낸 요청을 모두 세지만, goodput 은 늦은 요청을 실패로 보고 뺀다. 서빙 설정을 비교할 때 기준으로 쓴다.

ITL

LLM 이 토큰 하나를 내고 다음 토큰을 낼 때까지의 간격. 요청 하나의 평균 간격은 TPOT 이라 부른다. 사용자에게는 글자가 나오는 속도다.

KV Cache

LLM 이 이미 읽은 토큰의 Key·Value 를 GPU 메모리에 저장해 두는 캐시. 요청마다 토큰 수만큼 자라며, 남은 GPU 메모리가 동시에 받을 수 있는 요청 수를 정한다. PagedAttention 과 FP8 저장으로 자리를 아낀다.

MoE

Mixture of Experts. 트랜스포머의 FFN 을 여러 전문가로 나누고 라우터가 토큰마다 몇 개만 골라 계산하는 구조. 전체 파라미터는 크지만 토큰 하나에 쓰는 활성 파라미터가 작아, 메모리 대역폭에 묶이는 decode 가 빠르다.

TTFT

LLM 에 요청을 보낸 뒤 첫 토큰이 올 때까지의 시간. 대기 줄과 입력 처리(prefill)를 합친 값으로, 사용자에게는 글자가 나오기 시작하는 시간이다.