Aller au contenu principal

Dimensionnement et matériel

Cette page donne les ressources que demande la Navin Platform, telles qu'écrites dans le chart Helm, les manifestes des services de données et les contrôles de l'installateur guidé. Servez-vous-en pour dimensionner les nœuds et le stockage avant l'installation ; mesurez puis ajustez avec votre propre charge (plan de tests de charge).

Paquets OS (un serveur)​

L'installateur guidé navin-install refuse un hôte sous ces minimums (os/install/README.md) :

RôleCPUMémoireDisque
standalone (Navin Manager, agent et plateforme sur un serveur)24 Gio (8 Gio conseillés)20 Gio libres pour /var, 4 Gio pour /opt
Navin Manager (mode cluster)22 Gio (4 Gio conseillés)10 Gio pour /var, 2 Gio pour /opt
nœud (mode cluster)11 Gio5 Gio pour /var

La base PostgreSQL de la plateforme est locale par défaut ; sa taille croît avec la piste d'audit et les documents. Prévoyez son disque selon vos réglages de rétention (EAI_AUDIT_WORM_RETENTION_DAYS, EAI_AUDIT_PAYLOAD_RETENTION_DAYS, référence de configuration).

Kubernetes : charges de la plateforme​

Demandes et limites de deploy/helm/enterprise-ai/values.yaml, par pod :

ChargeDemandesLimitesRéplicas (défaut)Réplicas (values-prod.yaml)
API Control Plane250m CPU, 512 Mio2 CPU, 2 Gio2 à 10 (HPA)3 à 20 (HPA)
Portail100m CPU, 256 Mio1 CPU, 1 Gio2 à 6 (HPA)3 à 6 (HPA)
LiteLLM250m CPU, 512 Mio2 CPU, 2 Gio2 à 10 (HPA)3 à 30 (HPA)
Worker100m CPU, 256 Mio1 CPU, 1 Gio11
Plans du worker audit, SOC, télémétrie (worker.planes.enabled)100m CPU, 256 Mio chacun1 CPU, 1 Gio chacun1 chacun1 chacun
Ollama (ollama.enabled)2 CPU, 8 Gio8 CPU, 32 Gio11

Avec le profil de production, la plateforme seule demande au moins 3 x (250m + 100m + 250m) CPU et 3 x (512 + 256 + 512) Mio, répartis sur trois nœuds de zones distinctes (anti-affinité de zone obligatoire du Control Plane dans values-prod.yaml).

Kubernetes : services de données​

Volumes et réplicas de deploy/data/*, tous sur la classe de stockage fast-ssd :

ServiceRéplicasVolume par réplicaManifeste
PostgreSQL (CloudNativePG 16.6)3 instances200 Gio de données et 50 Gio de WALdeploy/data/postgres/cluster.yaml
Qdrant3100 Giodeploy/data/qdrant/values.yaml
NATS JetStream320 Giodeploy/data/nats/values.yaml
Redisréplication (opérateur à 2 réplicas)20 Giodeploy/data/redis/values.yaml
Redis pour Opikréplication10 Giodeploy/data/redis-opik/values.yaml
ClickHousegéré par l'opérateur200 Giodeploy/data/clickhouse/k8s/clickhouse-installation.yaml
Temporal3base dans PostgreSQLdeploy/data/temporal/values.yaml
remarque

fast-ssd est le nom qu'utilisent les manifestes. Créez une classe de stockage de ce nom sur votre pilote CSI, ou remplacez le nom dans les fichiers de valeurs avant la première synchronisation.

Inférence GPU​

vLLM lance un Deployment par modèle sur des nœuds NVIDIA (label nvidia.com/gpu.present=true, tolérance nvidia.com/gpu). Le profil values-onprem-gpu.yaml donne un exemple dimensionné :

ModèleGPU par réplicaDemandesLimitesRéplicas
meta-llama/Llama-3.1-8B-Instruct14 CPU, 32 Gio8 CPU, 48 Gio1 à 4
Qwen/Qwen2.5-72B-Instruct-AWQ4 (--tensor-parallel-size 4)16 CPU, 128 Gio32 CPU, 192 Gio1 à 2
BAAI/bge-m3 (embeddings)1 (--gpu-memory-utilization 0.30)2 CPU, 8 Gio4 CPU, 16 Gio1 à 3
workers média STT, TTS (KEDA sur le retard NATS)1défaut du chartdéfaut du chart0 à 4
worker média génération vidéo1défaut du chartdéfaut du chart0 à 2

Le cache des modèles est un volume de 200 Gio par défaut (vllm.modelCache.size), 500 Gio sur la classe local-nvme dans le profil sur site. Avec vllm.antiAffinity: required, un modèle exige autant de nœuds GPU que de réplicas.

L'inférence CPU est possible pour les petits modèles : accelerator: cpu sur une entrée de vllm.models (image vllm/vllm-openai-cpu, cpuKvCacheSpaceGb) ou ollama.accelerator: cpu.

Docker Compose et développement local​

La pile compose complète démarre plus de trente conteneurs (deploy/compose/docker-compose.yml). Prévoyez un poste d'au moins 8 CPU, 16 Gio de mémoire et 40 Gio de disque libre pour les images et les volumes ; les profils gpu (vLLM, worker média) exigent un GPU NVIDIA et le NVIDIA container toolkit. make start sans Docker ne lance que PostgreSQL, Redis, Keycloak, l'API, le worker et le portail.

remarque

Les chiffres de compose sont une estimation de travail pour le nombre de conteneurs de la pile, pas un minimum mesuré.

Étapes suivantes​