Skip to content

Commit ff76019

Browse files
Blog running llm d without kubernetes (llm-d#333)
* running-llm-d-without-kubernetes Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * Update blog author image Signed-off-by: Pete Cheslock <pete.cheslock@redhat.com> * blog(running-llm-d-without-kubernetes): FlowControl works in file-discovery mode Update the parity section: FlowControl now works in file-discovery mode with priority bands, fairness, ordering, and usage-limit policies configured statically in EndpointPickerConfig.flowControl. Per-request priority falls back to the configured default when no InferenceObjective CRD is available; the x-flow-fairness-id header drives fairness within a band. Model-name rewriting (InferenceModelRewrite) is now the only CRD-driven feature that remains unavailable outside Kubernetes. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * updated blog Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): reframe around the hard problem Shift the post from a deployment recipe toward the deep-technical llm-d style, per review feedback. Lead with why routing intelligence was entangled with Kubernetes and the EndpointDiscovery abstraction that separates discovery from routing, rather than step-by-step deploy commands (now covered by the upstream guide). - Add a 'hard problem' section: RL rollout cost, inference workload diversity and naive framework routers, research-lab/HPC and benchmarking motivation. - Slim the setup to a minimal example; trim Ray/Slurm to concept and link the guide for the full scripts. - Fold discovery-mechanism extensions into the dynamic-substrates section; focus 'Research directions' on RL rollout gaps. - Preserve inbound anchors (llm-d#1-the-endpoints-file, #troubleshooting, #parity-with-the-kubernetes-native-llm-d-deployment). Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): drop endpoints-file schema table Replace the per-field table with a one-line summary of the essential fields and a pointer to the guide for the full reference. Keeps the section lean; the llm-d#1-the-endpoints-file anchor is preserved. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): trim inline configs to match house style Other technical posts (kvcache-wins, intelligent-scheduling, native-kv-cache-offloading) keep deploy config in the guides and carry only the idea inline. Drop the endpoints.yaml block and the EndpointPickerConfig block, keeping the memorable one-liner (dataLayer.discovery.pluginRef: file-discovery) in prose. Also soften the closing line: drop weight-sync (llm-d does not own it) and replace 'for the fifth time' with 'yet again'. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): drop Troubleshooting section The section opened with 'The full failure-mode list is in the guide' and duplicated operational failure modes that belong in the guide. No other technical post carries a troubleshooting reel; the blog stays conceptual and defers how-to-debug to the guide. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): reframe parity section around substrate invariance Replace the feature checklist with the architectural claim: because the discovery seam is below the scheduler, file-discovery mode gets the whole router unchanged, including capabilities not yet built - one routing stack, substrate-invariant by construction. Keep the honest exceptions (InferenceObjective priority, InferenceModelRewrite, endpoint-lifecycle ownership) framed as inputs being migrated behind the same plugin pattern. Retitle to 'One routing stack, every substrate'. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): add platform diagram, reframe substrate as platform Add Figure 3 (llm-d-platform.drawio.svg): a draw.io diagram showing llm-d's EndpointDiscovery module (Kube Discovery, File Discovery) discovering endpoints on and serving requests from Kubernetes, Slurm, Ray, and bare metal, with the RL frameworks (veRL, SkyRL, prime-rl) on top. Replace the term 'substrate' with 'platform' throughout the post and caption. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): move platform diagram to the top as Figure 1 Move the platform overview diagram above the truncate so it serves as an orienting hero (and shows on the blog listing), with a big-picture caption. Renumber the file-discovery and Ray diagrams to Figures 2 and 3, and leave a back-reference to Figure 1 in the 'One routing stack, every platform' section. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): drop broken well-lit-path link The docs/well-lit-paths/no-kubernetes-deployment.md target does not exist upstream (404), failing the CI link check. There is no no-kubernetes well-lit path; the deploy-ready reference is the guide, already linked in the same sentence - matching how other posts cite these guides. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): cite the no-Kubernetes infra doc Restore the second upstream reference (the one the broken link intended) with the correct path: docs/infrastructure/no-kubernetes-deployment.md, the architecture/design overview - distinct from the step-by-step guide. It is filed under docs/infrastructure upstream, not docs/well-lit-paths, so cite it as the architecture doc rather than a well-lit path. Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): replace "seam" metaphor with "interface" Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): reframe benchmarking motivation around simplicity, cite InferenceX Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): temper RL Kubernetes framing, note dual-managed worker nodes Signed-off-by: Ezra Silvera <ezra@il.ibm.com> * blog(running-llm-d-without-kubernetes): acknowledge Kubernetes as the default for production inference at scale Signed-off-by: Ezra Silvera <ezra@il.ibm.com> --------- Signed-off-by: Ezra Silvera <ezra@il.ibm.com> Signed-off-by: Pete Cheslock <pete.cheslock@redhat.com> Co-authored-by: Pete Cheslock <pete.cheslock@redhat.com>
1 parent e6785de commit ff76019

6 files changed

Lines changed: 296 additions & 0 deletions

File tree

blog/2026-05-26_running-llm-d-without-kubernetes.md

Lines changed: 155 additions & 0 deletions
Large diffs are not rendered by default.

blog/authors.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,3 +422,12 @@ rachelbrill:
422422
image_url: /img/blogs/rachelbrill.webp
423423
socials:
424424
linkedin: rachel-tzoref-brill-6645a11
425+
426+
ezrasilvera:
427+
name: Ezra Silvera
428+
title: Senior Technical Staff Member, IBM
429+
image_url: /img/blogs/ezrasilvera.webp
430+
email: ezra@il.ibm.com
431+
socials:
432+
github: https://github.com/ezrasilvera
433+
linkedin: ezra-silvera-9746682

static/img/blogs/ezrasilvera.webp

21.8 KB
Loading

static/img/blogs/running-llm-d-without-kubernetes/llm-d-platform.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

static/img/blogs/running-llm-d-without-kubernetes/no-kubernetes-deployment.svg

Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 127 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)