-
|
Hello and first of all thanks for your project. I have installed LLMKube on a k3s cluster made of 4 raspberry pi 5 to run multiple Gemma 4 models and it works great ! I will probably take some time to document it and / or try to contribute by submitting a k3s installation guide when I get some free time :). I have a question regarding the deployment of multiple replicas. I will start by bring more context to my use case to make it more clear: I am developing my own AI harness to run against my homelab, which is built with following requirements at this time:
I plan to have 1 Gemma 4 model hosted per agent node so 1 Since I am running on raw Raspberry PI with limited resources I would like to limit the concurrency of the traffic hitting my I assume I can work around by adding a nginx load balancer to enforce that in front of my inference service (but I feel like it won't be the best pattern as I would require to probably connect my load balancer to the pod instead of the svc), but I was wondering if |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
|
Thanks for the great writeup, and welcome! A 4-node Raspberry Pi 5 cluster running multiple Gemma 4 models on LLMKube is exactly the edge use case I had in mind when starting this project. Seeing it actually working is huge. To your question: llama.cpp's server has a built-in Today you'd configure it via spec:
runtime: llamacpp
extraArgs:
- "--parallel"
- "1"That said, this is one of the most-tuned llama.cpp flags for resource-constrained deployments, and it's a feature gap that it lives in And yes, please do consider that k3s install guide if you find the time. The Pi 5 cluster pattern has been a long-standing curiosity in the homelab community, and a real-world walkthrough would help a lot of people. Happy to review docs PRs and integrate them under |
Beta Was this translation helpful? Give feedback.
Thanks for the great writeup, and welcome! A 4-node Raspberry Pi 5 cluster running multiple Gemma 4 models on LLMKube is exactly the edge use case I had in mind when starting this project. Seeing it actually working is huge.
To your question: llama.cpp's server has a built-in
--parallelflag that controls how many parallel inference slots a single process serves. Setting it to 1 makes each replica serialize requests at the runtime level, so subsequent requests queue inside llama-server until the active one finishes. Combined with the Kubernetes Service round-robining across your 3 replicas, that should give you exactly what you want without any external load balancer.Today you'd configur…