milvus-logo
LFAI
Home
  • Guide d'administration
    • Mise à l'échelle

Mise à l'échelle d'un cluster Milvus

Milvus prend en charge la mise à l'échelle horizontale de ses composants. Cela signifie que vous pouvez augmenter ou diminuer le nombre de nœuds de travail de chaque type en fonction de vos besoins.

Cette rubrique décrit comment mettre à l'échelle un cluster Milvus. Nous supposons que vous avez déjà installé un cluster Milvus avant de procéder à la mise à l'échelle. Nous vous recommandons également de vous familiariser avec l'architecture Milvus avant de commencer.

Ce didacticiel prend pour exemple la mise à l'échelle de trois nœuds de requête. Pour mettre à l'échelle d'autres types de nœuds, remplacez queryNode par le type de nœud correspondant dans la ligne de commande.

Pour plus d'informations sur la mise à l'échelle d'un cluster avec Milvus Operator, reportez-vous à la section Mise à l'échelle d'un cluster avec Milvus Operator.

Qu'est-ce que la mise à l'échelle horizontale ?

La mise à l'échelle horizontale comprend la mise à l'échelle vers le bas et la mise à l'échelle vers le haut.

Mise à l'échelle

La mise à l'échelle consiste à augmenter le nombre de nœuds dans un cluster. Contrairement à la mise à l'échelle, la mise à l'échelle n'exige pas que vous allouiez davantage de ressources à un nœud de la grappe. Au contraire, la mise à l'échelle étend la grappe horizontalement en ajoutant des nœuds supplémentaires.

Scaleout Scaleout

Scaleup Mise à l'échelle

Selon l'architecture Milvus, les nœuds de travail sans état comprennent le nœud de requête, le nœud de données, le nœud d'index et le proxy. Par conséquent, vous pouvez étendre ce type de nœuds en fonction des besoins de votre entreprise et des scénarios d'application. La mise à l'échelle du cluster Milvus peut se faire manuellement ou automatiquement.

En règle générale, vous devrez redimensionner le cluster Milvus que vous avez créé s'il est surutilisé. Vous trouverez ci-dessous quelques situations typiques dans lesquelles vous pouvez avoir besoin d'une mise à l'échelle du cluster Milvus :

  • L'utilisation de l'UC et de la mémoire est élevée pendant un certain temps.
  • Le débit des requêtes augmente.
  • Une vitesse d'indexation plus élevée est nécessaire.
  • Des volumes massifs de grands ensembles de données doivent être traités.
  • La haute disponibilité du service Milvus doit être assurée.

Mise à l'échelle

La mise à l'échelle consiste à diminuer le nombre de nœuds dans un cluster. En général, vous devrez mettre à l'échelle le cluster Milvus que vous avez créé s'il est sous-utilisé. Voici quelques situations typiques dans lesquelles il est nécessaire de procéder à une mise à l'échelle du cluster Milvus :

  • L'utilisation de l'UC et de la mémoire est faible pendant un certain temps.
  • Le débit des requêtes diminue.
  • Une vitesse d'indexation plus élevée n'est pas nécessaire.
  • La taille de l'ensemble de données à traiter est faible.
Nous ne recommandons pas de réduire considérablement le nombre de nœuds de travail. Par exemple, s'il y a cinq nœuds de données dans le cluster, nous recommandons de réduire un nœud de données à la fois pour assurer la disponibilité du service. Si le service est disponible après la première tentative de mise à l'échelle, vous pouvez continuer à réduire le nombre de nœuds de données.

Conditions préalables

Exécutez kubectl get pods pour obtenir une liste des composants et de leur état de fonctionnement dans le cluster Milvus que vous avez créé.

NAME                                            READY   STATUS       RESTARTS   AGE
my-release-etcd-0                               1/1     Running      0          1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running      0          1m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running      0          1m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running      0          1m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running      0          1m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running      0          1m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running      0          1m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running      0          1m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running      0          1m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running      0          1m
my-release-minio-5564fbbddc-9sbgv               1/1     Running      0          1m 
Milvus prend uniquement en charge l'ajout de nœuds de travail et ne prend pas en charge l'ajout de composants de coordinateur.

Mise à l'échelle d'un cluster Milvus

Vous pouvez faire évoluer votre cluster Milvus manuellement ou automatiquement. Si la mise à l'échelle automatique est activée, le cluster Milvus se réduit ou s'étend automatiquement lorsque la consommation des ressources CPU et mémoire atteint la valeur que vous avez définie.

Actuellement, Milvus 2.1.0 ne prend en charge que la mise à l'échelle manuelle.

Mise à l'échelle

Exécutez helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values pour mettre à l'échelle manuellement le nœud de requête.

En cas de succès, trois pods en cours d'exécution sur le nœud de requête sont ajoutés comme indiqué dans l'exemple suivant.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-czq9f    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-jcdcn    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Mise à l'échelle

Exécutez helm upgrade my-release milvus/milvus --set queryNode.replicas=1 --reuse-values pour mettre à l'échelle le nœud de requête.

En cas de succès, les trois pods en cours d'exécution sur le nœud de requête sont réduits à un seul, comme le montre l'exemple suivant.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Prochaines étapes

Traduit parDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Cette page a-t - elle été utile ?