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 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 한 장이 받는 양이다.

ITL

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

KV Cache

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

TTFT

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