Passer au contenu principal
Ce document décrit les conditions préalables au déploiement, les étapes de vérification et les considérations nécessaires pour l’installation et le déploiement réussis du produit EKB sur site. Il est conçu comme une liste de contrôle complète pour assurer que l’environnement du client est correctement configuré et répond à tous les besoins avant de procéder au déploiement.

Conditions préalables

Conditions d’accès

  • Accès au serveur :
    • Confirmez l’accès aux serveurs de déploiement avec les privilèges sudo.
    • Vérifiez que tous les itinéraires réseau nécessaires sont établis via un VPN sécurisé ou une configuration réseau dédiée.
  • Autorisations utilisateur :
    • Assurez-vous que l’équipe de déploiement s’est vu accorder les droits d’accès nécessaires.
    • Validez que l’authentification à deux facteurs (2FA) requise ou les jetons de sécurité sont en place.

Conditions système

Système d’exploitation :
Ubuntu 22 ou RHEL 8.10
Spécifications matérielles :
Pour chaque niveau de déploiement, assurez-vous que le matériel répond ou dépasse les éléments suivants :
NiveauCœursRAM (GB)SSD
SMALL16641TB
MEDIUM321282TB
LARGEPersonnaliséPersonnaliséPersonnalisé
  • GPU (Obligatoire lors du déploiement d’un LLM sur la même machine que la plateforme EKB.)
  • SMALL : ~500 (100 concurrents) utilisateurs peuvent être pris en charge par une seule VM 16 cœurs, 64 Go de RAM, 1 TB
    • SSD ces machines coûtent ~600 $ par mois. C’est un déploiement de taille minimale.
  • MEDIUM ~ 2000 (500 concurrents) utilisateurs peuvent être pris en charge par une machine plus grande 32 cœurs, 128 Go de RAM, 2 TB
    • SSD ces machines coûtent environ ~1 200 $ par mois
  • LARGE : ~10000 (1000+ concurrents) utilisateurs doivent être déployés sur des conteneurs pour que l’infrastructure
    • puisse s’adapter aux besoins, cela coûte généralement un minimum de 2 000 $ par mois, il est
    • recommandé de calculer 2 000 $ par mois pour chaque 1 000 utilisateurs actifs supplémentaires. C’est un déploiement entièrement distribué.

Outils de déploiement et dépendances logicielles

  • Scripts de déploiement :
    • Scripts de déploiement Bash vérifiés et contrôlés par version.
  • Outils de gestion des dépendances :
    • Python 3
    • Git (version actuelle)
    • Docker (v27.1.1) ou Podman
  • Outils supplémentaires (optionnels) :
    • Outils de journalisation et de surveillance (par exemple, ELK Stack, Prometheus, Grafana) selon les besoins de surveillance du client.

Identifiants et clés

  • Identifiants du serveur :
    • Assurez-vous que tous les identifiants d’accès au serveur sont à jour et stockés de manière sécurisée.
  • Clés API et licences d’application :
    • Vérifiez que toutes les clés API spécifiques à l’application et les licences (par exemple, OpenAI, SERP, Sentry) sont disponibles et valides.

Liste de contrôle avant déploiement

Vérification du matériel et du système

Assurez-vous que les configurations matérielles et système du client correspondent aux spécifications :
# Vérifier les informations de processeur

lscpu                         # Fonctionne sur Ubuntu et RHEL

cat /proc/cpuinfo             # Informations plus détaillées du processeur


# Vérifier l'utilisation de la mémoire

free -h                       # Format lisible par l'homme pour l'utilisation de la mémoire

cat /proc/meminfo             # Informations détaillées sur la mémoire


# Vérifier l'utilisation du stockage

df -h                         # Affiche l'utilisation du disque

lsblk                         # Répertorie les appareils de bloc et les partitions

3.2 Vérification des logiciels et des dépendances

Vérifiez que tous les composants logiciels nécessaires sont installés et correctement versionnés :
# Vérifier la version de Docker

docker --version              # Applicable pour Ubuntu et RHEL


# Vérifier la version de Docker Compose

docker compose version        # Pour les configurations Docker modernes

docker-compose --version      # Pour les anciennes installations

```

# Vérifier la version de Python

python3 --version             # Vérification préférée pour Python 3

python --version              # Alternative si python3 n'est pas disponible


# Vérifier la version de Git

git --version                 # Valide pour Ubuntu et RHEL


3.3 Vérification de la connectivité réseau

Assurez-vous que le réseau est correctement configuré et qu’il existe une connectivité Internet adéquate pour les dépendances externes ou les mises à jour :
# Vérifier la disponibilité de la connexion Internet

ping -c 4 google.com          # Ping Google pour vérifier la connectivité réseau

curl -Is https://www.google.com | head -n 1  # Vérification alternative avec curl

3.4 Vérifications supplémentaires

Services et ports
ServiceCheminParamètrePorts internesPorts externes
Frontend/FRONTEND_SUFFIX3000
Nginx/80, 443
Backend/backendBACKEND_SUFFIX8001
Automator/automatorAUTOMATOR_SUFFIX8002
Redis6379
RabbitMQ5672, 15672
Passerelle API Supabase Kong/supabaseSUPABASE_SUFFIX8000, 84438000, 8443 (admin uniquement)
Postgres Supabase6543
PostgreSQL (automator)5433
Redis (automator)6380
Ollama11434— (uniquement si Ollama est déployé localement)
Support des protocoles
ServiceHTTPHTTPSWebSocket
Frontend
Nginx
Backend
Automator
Redis
RabbitMQ
Passerelle API Supabase Kong
Postgres Supabase
PostgreSQL (automator)
Redis (automator)
Ollama
Remarques : Toutes les machines internes doivent pouvoir communiquer librement entre elles. Nous recommandons d’utiliser les connexions SSL (HTTPS) ; HTTP est pris en charge pendant les PoC.
Paramètres de pare-feu et de sécurité : Validez que les règles de pare-feu ou les groupes de sécurité permettent le trafic requis.

Architecture générale

general-arc.png

Diagramme d’architecture – Sur site

Flux d’architecture de déploiement pour une boîte de machine virtuelle unique avec allocation de ressources préalables mentionnée general-arc.png

Flux d’architecture de déploiement pour le déploiement cloud AWS

general-arc.png general-arc.png