Infrastruktur¶
Hardware, Betriebssystem und Ressourcenplanung
Mindestanforderungen und empfohlene Konfiguration für den Betrieb einer Kunden-Instanz der Inovetra AI Platform.
Hardware-Anforderungen¶
| Ressource | Minimum | Empfohlen (Produktion) |
|---|---|---|
| CPU | 8 vCPU | 16 vCPU |
| RAM | 32 GB | 64 GB (mit Embedding Service) |
| Festplatte | 200 GB SSD | 500 GB SSD (große Dokumentensammlungen) |
| Netzwerk | 1 Gbit/s, öffentliche IP, DNS-A-Record | 1 Gbit/s, öffentliche IP, DNS-A-Record |
Alle Images sind ausschließlich linux/amd64
ARM-basierte VMs (z. B. ARM64, Apple Silicon) werden nicht unterstützt. Der Betrieb erfordert eine x86_64-CPU.
Betriebssystem¶
| Eigenschaft | Wert |
|---|---|
| OS | Ubuntu 22.04+ (Frische Installation empfohlen) |
| Kubernetes | K3s (installiert durch setup-onprem.sh) |
| K3s-Flags | --disable traefik --disable servicelb |
| Storage Class | local-path (K3s-Standard) |
| Container Runtime | containerd (K3s-Standard) |
Frische Installation
Es wird dringend empfohlen, K3s auf einer frischen Ubuntu-Installation zu betreiben. Bereits vorhandene Kubernetes-Installationen oder Container-Runtimes können zu Konflikten führen.
Persistent Volume Claims (PVCs)¶
Übersicht aller persistenten Speicheranforderungen:
| Service | PVC-Größe | Zweck |
|---|---|---|
| PostgreSQL | 10 Gi | Relationale Daten (Customer API, Connector, LiteLLM) |
| MongoDB | 10 Gi | Chat-Verlauf und Benutzerprofile (LibreChat) |
| Redis | 2 Gi | Cache und Conversation Memory |
| Qdrant | 20 Gi | Vektordatenbank (Embeddings) |
| MinIO | 50 Gi | Objektspeicher (hochgeladene Dokumente) |
| LibreChat | 5 Gi | Lokale Dateien und Uploads |
| RAG API (Uploads) | 20 Gi | Dokumentenverarbeitung |
| Embedding Service | 5 Gi | Modell-Cache (ONNX) |
| Backup (optional) | 20 Gi | Automatisierte Backups |
| Gesamt | ~142 Gi | + OS + K3s-Overhead |
Speicherplanung
Planen Sie zusätzlich zum PVC-Bedarf mindestens 30–50 GB für das Betriebssystem, K3s-Binaries, Container-Images und Logs ein. Bei 200 GB Festplatte bleiben somit ca. 10–30 GB Reserve.
Ressourcen-Limits¶
Kubernetes-Ressourcenanforderungen und -Limits pro Service:
| Service | Memory Request | Memory Limit | CPU Request |
|---|---|---|---|
| Ingress Controller | 512 Mi | 2 Gi | 100m |
| PostgreSQL | 1 Gi | 4 Gi | 100m |
| MongoDB | 1 Gi | 4 Gi | 100m |
| Redis | 128 Mi | 512 Mi | 50m |
| Qdrant | 2 Gi | 8 Gi | 100m |
| MinIO | 512 Mi | 2 Gi | 50m |
| SearXNG | 256 Mi | 512 Mi | 100m |
| LibreChat | 2 Gi | 6 Gi | 100m |
| LiteLLM | 8 Gi | 12 Gi | 100m |
| RAG API | 1 Gi | 6 Gi | 100m |
| Customer API | 256 Mi | 1 Gi | 50m |
| Customer Portal | 128 Mi | 512 Mi | 25m |
| OS Manager | 256 Mi | 1 Gi | 50m |
| Connector Service | 512 Mi | 3 Gi | 100m |
| Embedding Service | 6 Gi | 12 Gi | 1000m |
| Gesamt (Request) | ~23 Gi | ~2125m | |
| Gesamt (Limit) | ~63 Gi |
CPU-Limits
CPU-Limits sind bewusst nicht konfiguriert (mit Ausnahme der CPU-Requests). Dies vermeidet CFS-Throttling und erlaubt Services, bei Lastspitzen auf verfügbare CPU-Kapazität zuzugreifen. Die CPU-Requests stellen sicher, dass der Kubernetes-Scheduler die Pods korrekt platziert.
Weiterführende Seiten¶
- Kapazitätsplanung — Detaillierte Kapazitätsberechnung und Skalierungsempfehlungen
- Voraussetzungen — Vollständige Checkliste für die Installation