Ki DevLab für K8s & GitOps

thomas_t

Cadet 4th Year
Registriert
Juni 2009
Beiträge
67
Hi zusammen,
ich baue mir aktuell ein lokales DevLab/Homelab auf. Schwerpunkt sind Kubernetes (K3s/Talos), GitOps-Pipelines (ArgoCD/Flux) und Self-Hosted GitHub Runner, um CI/CD-Pipelines und KI-Inferenz (Ollama/vLLM) lokal zu testen auch als Claude code Ersatz fürs programmieren.
Eigentlich war der Plan, mit einer gebrauchten Dell Precision 5820 (Xeon W-22xx, RTX 3090 24GB) zu starten. Jetzt stelle ich mir aber ein paar Grundsatzfragen zur Architektur:

1. Monolith vs. Multi-Node Cluster: Reicht für ein GitOps- / K8s-Lab ein einzelner dicker Node (z. B. 5820 mit viel RAM) oder fährt man für realistisches Clustering mit mehreren kleineren Nodes (z. B. 3x Tiny PCs/SFF für Control Plane/Worker + 1x GPU-Node) im Alltag besser?

2. RAM-Dimensionierung: Wie viel RAM würdet ihr für parallele GitHub-Runner-Builds + K8s-System-Overhead + VRAM-Offloading ansetzen? Reichen 64 GB fürs Erste oder sollte man bei K8s direkt auf 128 GB / 256 GB ECC zielen?

3. GPU & CI/CD: Hat jemand Erfahrung mit GPU-Passthrough / NVIDIA Container Toolkit in Kubernetes-Runnern auf der Precision 5820? Gibt es da Stolpersteine bei Strom/Netzteil?

Freue mich auf eure Erfahrungen und Empfehlungen!
 
1. Das hängt immer stark vom Workload ab. K8s braucht auch ein wenig Overhead um die diversen Pods mitlaufen zu lassen. Du kannst aber immer noch im Nachhinein ja einfach erweitern wenn du merkst das es knapp wird. Wenn du jetzt nicht semi-große Workloads bzw. Runner stark parallelisiert laufen lassen möchtest würde ich erstmal bei einem Single - Node - Cluster bleiben, gerade bei k3s.

2. Hängt wieder stark vom Workload ab, 64GB reichen ja um anzufangen. Für k8s brauchst du nicht so viel Power, das wird erst dann spannend wenn du viel State - Change mit vielen Pods hast, für den Anfang passt das.

3. Nicht direkt auf Dell - Servern, aber das sollte das Container - Toolkit einfach so können. In dem Szenario das ich kenne (On-Premise, große GPUs) war es immer der Treiber und die anderen Pods des Nvidia - Stacks die nervig waren (Abhängigkeiten, Treiber, CUDA, etc.) aber viele Kinderkrankheiten wurden bereits ausgemerzt.

Ich stehe vor ähnlichen Fragen aber habe privat nicht mehr so viel Zeit Dinge einfach auszuprobieren. Schreib doch gerne hier oder per DM wie deine Erfahrungen so waren.
 
  • Gefällt mir
Reaktionen: konkretor und thomas_t
Zur ersten Frage: Ein k8s-node reicht sicherlich zum "reinkommen", und zum ausprobieren der meisten Konzepte.
Das Feld des K8s cluster "machen so", node-updaten, rebooten, HA krams testen mit einem Node down, geht dir dann halt bisschen verlustig, wäre mir aber kaum den Aufpreis mehrerer Serverchen wert.

Edit: Kannst ja mal schauen, man sollte die GPU per passthrough in KVM oder ähnlichem zumindest an einen Gast weitergeben können (dann kann der Host diese aber auch nichtmehr verwenden usw.) - ggf. kannst du dir dann eine dicke GPU VM, und 3 kleine für die control-plane machen..
 
  • Gefällt mir
Reaktionen: thomas_t
Und meint ihr hardwaremäßig ist es geschickt eine gebrauchte Workstation zu nehmen anstatt ein modernes am5 system aufzubauen? könnte das System hier als refurbished für ca 800 Euro bekommen . Müsste dann noch für ca 900 Euro ne RTX 3090 besorgen bzw kann mit der verbauten auch erstmal testen.

💻 Dell Precision 5820
* CPU: Intel Xeon W-2245 (8C / 16T, 3.9–4.5 GHz)
* GPU: NVIDIA Quadro RTX 4000 (8 GB GDDR6 VRAM, CUDA/Tensor-Cores)
* RAM: 32 GB DDR4 ECC RDIMM (8 Slots, max. 512 GB)
* Netzteil: 950 W (modular)
* I/O & Storage: 48 PCIe 3.0 Lanes, 4x Hot-Swap FlexBays (SATA/NVMe)
 
Also wenn du nur spielen willst, sind beide Optionen harter Overkill,
für "ich bau ein kleines k8b lab daheim".

Hast du irgendwelche Nutzlasten, die du wirklich "Produktiv" / dauerhaft via k8s betreiben willst, welche Brot fressen überhaupt?

Das K8s selber kannst du auch bei Hetzner mit 3x dem kleinsten Vserver erleben..
(edit: hier könnte man auch ggf davon schwafeln, dass es auch ganz nett ist, wenn du Terraform/Tofu/programmatisch kontrollierbare Volumes, Loadbalancer davor und wasnicht von Hetzner mitnutzen kannst: So riiichtig geil wirds mit dem k8s nämlich auch erst, wenn man sowas hat (für dein testing ggf voll okay ohne..))

Würde ggf. überlegen, ob du irgendwas "besonderes" selber bauen möchtest mit der lokalen Inferenz, von wegen Level1 (youtuber) bauen immer recht verrückte Dinge ala "wir benutzen X für tokenizer, und dann kommt die Nvidia GPU" -- und wenn daran die HW ausrichten.
 
Hey,

Dachte an k3s mit traeffik als Ingress. Deployed wird das alles mit terraform über mein GitHub repo. Dann noch pgnative Operator für Managed postgres Datenbanken plus den ganzen Sachen um die KI Krams zu managen.

Über Cloudflare würde ich die workloads/namespaces dann in mein heimnetz Routen.

Meine konkreten usecases:
  • Coding Agenten, die über Nacht dann an programmieraufträgen arbeiten (Python + react/shadcnui)
  • Ki coding Assistent in vs Code
  • Persönliche Assistentin/ Mails formulieren / Termine managen
  • Eigene API für dsgvo konforme Dokumentenverarbetung von Vertragsunterlagen für eine eigene App / Datenbank
  • Gitlab runner
  • Bilderkennung für frigate nvr
...
 
PCIe 3.0 wird einfach bei KI Sachen einfach schnell zum Flaschenhals.
Autonome KI Agenten kannst du mit der RTX 3090 vergessen, da fängt der Spass erst mit 90GB an und das auch eher schlecht als Recht.
 
  • Gefällt mir
Reaktionen: dayday85
@AAS Da stimme ich dir zu. Ich wollte abseits meines beruflichen Kontexts ein wenig mit KI Inferenz rumspielen und bin am Ende bei llama.cpp hängen geblieben, ok Kombination mit https://github.com/odysseus-dev/odysseus

Man braucht echt viel Context und die Modelle die auf meinem Rechner liefen passten selbst hybrid (System-Memory) nicht mehr vom Output bzw. der Qualität. Die Performance reichte mir für „Aufgaben über Zeitraum x“. Das Ganze aber durch k8s zu schleifen machte bisher irgendwie wenig Sinn da die Tools die das Modell nutzen eh einen Endpoint brauchen, ob der jetzt lokal oder auf einem anderen (Bare-Metal) Server horcht ist da dann egal.

Die Tools die den Endpoint nutzen kann man eher in k8s samt, wie oben von @ksk23 beschrieben, Terraform etc deployen.

Tailscale erlaubt da so einiges gratis, könnte hierfür spannend sein, z.B. vServer bei Hetzner, egal ob ephemeral oder nicht, immer punktuell nutzen oder den Cluster skalieren und die „günstige“ Inferenz zuhause per Tailscale anbinden, da reicht ja ein Linux mit llama, oder von mir aus eine große VM mit Durchreiche für. Die GitLab Runner sind ja eh dann temporär, das Modell möchtest du ja sicher immer mitlaufen lassen.
 
Zurück
Oben