Exécuter Milvus avec prise en charge du GPU à l'aide de Docker Compose
Cette page explique comment démarrer une instance Milvus avec prise en charge GPU à l'aide de Docker Compose.
Prérequis
- Installez Docker.
- Vérifiez la configuration matérielle et logicielle requise avant l’installation.
Si vous rencontrez des difficultés pour récupérer l'image, contactez-nous à l'adresse community@zilliz.com en précisant les détails du problème, et nous vous fournirons l'assistance nécessaire.
Installer Milvus
Pour installer Milvus avec prise en charge du GPU à l'aide de Docker Compose, suivez ces étapes.
1. Téléchargez et configurez le fichier YAML
Téléchargez milvus-standalone-docker-compose-gpu.yml et enregistrez-le sous le nom docker-compose.yml manuellement ou à l’aide de la commande suivante.
$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.2/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
Vous devez apporter quelques modifications aux variables d'environnement du service autonome dans le fichier YAML comme suit :
- Pour attribuer un GPU spécifique à Milvus, repérez le champ «
deploy.resources.reservations.devices[0].devices_ids» dans la définition du service «standalone» et remplacez sa valeur par l’ID du GPU souhaité. Vous pouvez utiliser l’outil «nvidia-smi», fourni avec les pilotes d’affichage des GPU NVIDIA, pour déterminer l’ID d’un GPU. Milvus prend en charge plusieurs GPU.
Attribuer un seul GPU à Milvus :
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ["0"]
...
Attribuer plusieurs GPU à Milvus :
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ['0', '1']
...
2. Démarrer Milvus
Dans le répertoire contenant le fichier docker-compose.yml, démarrez Milvus en exécutant la commande suivante :
$ sudo docker compose up -d
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
Si vous ne parvenez pas à exécuter la commande ci-dessus, vérifiez si Docker Compose V1 est installé sur votre système. Si c’est le cas, il est recommandé de migrer vers Docker Compose V2 en raison des remarques figurant sur cette page.
Une fois Milvus démarré,
- les conteneurs nommés milvus-standalone, milvus-minio et milvus-etcd sont en cours d'exécution.
- Le conteneur milvus-etcd n’expose aucun port vers l’hôte et mappe ses données vers le répertoire volumes/etcd du dossier actuel.
- Le conteneur « milvus-minio » sert localement les ports 9090 et 9091 avec les identifiants d'authentification par défaut et mappe ses données vers le répertoire « volumes/minio » du dossier actuel.
- Le conteneur milvus-standalone expose localement les ports 19530 avec les paramètres par défaut et stocke ses données dans le répertoire volumes/milvus du dossier actuel.
Vous pouvez vérifier si les conteneurs sont opérationnels à l’aide de la commande suivante :
$ sudo docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
Vous pouvez également accéder à l’interface Web de Milvus à l’adresse http://127.0.0.1:9091/webui/ pour en savoir plus sur votre instance Milvus. Pour plus de détails, consultez la documentation sur l’interface Web de Milvus.
Si vous avez attribué plusieurs périphériques GPU à Milvus dans le fichier docker-compose.yml, vous pouvez spécifier quel périphérique GPU est visible ou disponible à l’utilisation.
Rendre le périphérique GPU 0 visible pour Milvus :
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
Rendre les périphériques GPU 0 et 1 visibles pour Milvus :
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
Vous pouvez arrêter et supprimer ce conteneur comme suit.
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
Configurer le pool de mémoire
Une fois Milvus opérationnel, vous pouvez personnaliser le pool de mémoire en modifiant les paramètres initMemSize et maxMemSize dans le fichier milvus.yaml.
Le fichier milvus.yaml se trouve dans le répertoire /milvus/configs/ à l’intérieur du conteneur Milvus.
Pour configurer le pool de mémoire, modifiez les paramètres initMemSize et maxMemSize dans le fichier milvus.yaml comme suit.
Utilisez la commande suivante pour copier le fichier «
milvus.yaml» depuis le conteneur Milvus vers votre machine locale. Remplacez «<milvus_container_id>» par l'ID réel de votre conteneur Milvus.docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yamlOuvrez le fichier «
milvus.yaml» copié à l’aide de votre éditeur de texte préféré. Par exemple, avec vim :vim milvus.yamlModifiez les paramètres «
initMemSize» et «maxMemSize» selon vos besoins, puis enregistrez vos modifications :... gpu: initMemSize: 0 maxMemSize: 0 ...initMemSize: Taille initiale du pool de mémoire. La valeur par défaut est 1024.maxMemSize: Taille maximale du pool de mémoire. Valeur par défaut : 2048.
Utilisez la commande suivante pour recopier le fichier
milvus.yamlmodifié dans le conteneur Milvus. Remplacez<milvus_container_id>par l'ID réel de votre conteneur Milvus.docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yamlRedémarrez le conteneur Milvus pour appliquer les modifications :
docker stop <milvus_container_id> docker start <milvus_container_id>
Storage V3 est désactivé par défaut. Activez-le avant d’utiliser les fonctionnalités qui en dépendent. Pour connaître les prérequis et les considérations de compatibilité, consultez la section Storage V3.
Étapes suivantes
Maintenant que Milvus est installé dans Docker, vous pouvez :
Consulter le guide de démarrage rapide pour découvrir les fonctionnalités de Milvus.
Consultez l'interface Web de Milvus pour en savoir plus sur l'instance Milvus.
Apprendre les opérations de base de Milvus :
Déployez votre cluster Milvus sur le cloud :
Découvrez Milvus WebUI, une interface web intuitive dédiée à la surveillance et à la gestion de Milvus.
Découvrez Milvus Backup, un outil open source dédié aux sauvegardes de données Milvus.
Découvrez Birdwatcher, un outil open source permettant le débogage de Milvus et la mise à jour dynamique des configurations.
Découvrez Attu, un outil graphique open source permettant une gestion intuitive de Milvus.