Installation de QAnswer sur une instance AWS EC2
Obtenir une instance
Démarrez une instance EC2 avec les ressources appropriées.
Ce guide utilise Ubuntu Server 24.04 LTS (HVM) avec l'instance g6e.xlarge .
| Taille de l'instance | GPU | Mémoire GPU (Gio) | vCPUs | Mémoire (Gio) | Stockage (Go) | Bande passante réseau (Gbps) | Bande passante EBS (Gbps) |
|---|---|---|---|---|---|---|---|
| g6e.xlarge | 1 | 48 | 4 | 32 | 250 | Up to 20 | Up to 5 |
Nous provisionnons un total de 282 Go (250 Go + 32 Go) de stockage pour l'instance g6e.xlarge , composé d'un volume SSD de 32 Go combiné au SSH original de 250 Go.
Montage du SSD de 250 Go pour g6e.xlarge
Sur les instances g6e.xlarge , le SSD de 250 Go n'est pas monté par défaut. Montez-le manuellement pour permettre le téléchargement des images Docker.
Étapes pour monter le SSD :
- 1. Exécutez
lsblkpour lister tous les périphériques de bloc et identifier le volume non monté.lsblk - 2. Formatez le volume en utilisant la commande mkfs avec le système de fichiers XFS :
sudo mkfs -t xfs /dev/nvme1n1 - 3. Créez un point de montage et montez le volume :
sudo mkdir /home/$USER/.local sudo mount /dev/nvme1n1 /home/$USER/.local - 4. Exécutez
lsblk -fpour afficher l'UUID du volume monté. Notez cette valeur pour les étapes suivantes (ex. e4bc66e3-c793-4b54-ad00-e5a1e11c80ef).lsblk -f
Rendre le montage permanent :
- 1. Modifiez le fichier /etc/fstab :
sudo vim /etc/fstab - 2. Ajoutez l'entrée suivante à la fin du fichier en remplaçant l'UUID et le nom d'utilisateur par les valeurs réelles :
UUID=e4bc66e3-c793-4b54-ad00-e5a1e11c80ef /home/ubuntu/.local xfs defaults,nofail 0 0
Rendre le volume monté accessible par $USER
sudo chown -R $USER:$USER /home/$USER/.localVérifiez que le volume est monté sans problèmes avec df -h
La sortie ressemblera à :
Filesystem Size Used Avail Use% Mounted on
/dev/root 30G 1.7G 29G 6% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 6.2G 1.1M 6.2G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 3.6K 120K 3% /sys/firmware/efi/efivars
/dev/nvme0n1p16 881M 76M 744M 10% /boot
/dev/nvme0n1p15 105M 6.1M 99M 6% /boot/efi
tmpfs 3.1G 12K 3.1G 1% /run/user/1000
/dev/nvme1n1 233G 4.5G 229G 2% /home/ubuntu/.localConfiguration du stockage du moteur de conteneurs :
Pour définir l'emplacement des images Docker :
sudo ln -s /home/ubuntu/.local /var/lib/dockerInstaller le pilote NVIDIA et NVIDIA Container Toolkit
Vérifiez que le pilote NVIDIA est installé en exécutant nvidia-smi. S'il n'est pas installé, installez le pilote avant d'utiliser le GPU.
- 1. Accédez à NVIDIA Driver Finder et entrez le modèle de GPU (
L40S) pour sélectionner la distribution correcte dans la liste déroulante. - 2. Cliquez sur
Rechercher. NVIDIA affiche la version du pilote recommandée — pour leL40Sc'est550.127.08. - 3. Nous pouvons donc télécharger le nvidia-driver-550 (550.127.08) via :
sudo apt update sudo apt install nvidia-driver-550 # may take few minutes to build # Progress: [ 92%] [###########################################.........] - 4. Installez
nvidia-container-toolkitpour activer l'accès au GPU dans les conteneurs. Consultez la documentation officielle pour référence.# Configure production repo: curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list # Update the packages list from the repository: sudo apt-get update # Install the NVIDIA Container Toolkit packages: sudo apt-get install -y nvidia-container-toolkit # Generate nvidia-.yaml (optional for docker, necessary for podman) sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml nvidia-ctk cdi list - 5. Après le redémarrage, confirmez que le pilote fonctionne en exécutant
nvidia-smi:
Installer un moteur de conteneurs
Installez soit Docker ou Podman comme moteur de conteneurs. Suivez les instructions respectives ci-dessous :
Installer Docker
Suivez le guide officiel d'installation de Docker pour installer Docker.
Installer Podman (alternative à Docker)
Suivez le guide officiel d'installation de Podman pour installer Podman.
Installer podman-compose
Installez podman-compose pour docker-compose-comme fonctionnalité. Consultez la documentation officielle de podman-compose pour les étapes d'installation.
Exemple de commande d'installation :
sudo apt install -y podman podman-composeVérifiez que Podman et podman-compose fonctionnent :
podman --version
podman-compose --versionRésolvez le problème des conteneurs sans root dans Podman (ignorez si vous êtes root) :
sudo loginctl enable-linger $USERInstaller et déployer QAnswer
QAnswer est fourni sous forme de fichier docker-compose. Clonez le dépôt :
git clone https://gitlab.the-qa-company.com/qanswer-app/qanswer-bundle.gitAccédez au répertoire qanswer-bundle puis suivez les étapes pour votre moteur de conteneurs :
Étapes pour Docker :
1. Exécutez le script de configuration pour télécharger toutes les images de conteneurs requises. Utilisez les identifiants fournis :
QANSWER_REGISTRY_USER=<user-we-provide> \
QANSWER_REGISTRY_PASSWORD=<password-we-provide> \
VERSION=main source ./setup.sh --container_runtime docker --no_documentation2. Démarrez le bundle QAnswer avec docker compose:
Exécutez la commande docker :
QANSWER_KEY=<qanswerKey-we-provide> \
VERSION=main docker compose up -d




