Dépendances de Scale Milvus
Milvus s'appuie sur diverses dépendances telles que MinIO, Kafka, Pulsar et etcd. La mise à l'échelle de ces composants peut améliorer l'adaptabilité de Milvus à différentes exigences.
Pour les utilisateurs de Milvus Operator, voir Configurer le stockage d'objets avec Milvus Operator, Configurer le méta stockage avec Milvus Operator et Configurer le stockage de messages avec Milvus Operator.
Mise à l'échelle de MinIO
Augmenter les ressources par pod MinIO
MinIO, un système de stockage d'objets utilisé par Milvus, peut voir ses ressources CPU et mémoire augmentées pour chaque pod.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Vous pouvez également augmenter la capacité du disque pour le cluster MioIO en modifiant manuellement la valeur de spec.resources.requests.storage
pour chaque Persistent Volume Claim (PVC) de MioIO. Notez que votre classe de stockage par défaut doit permettre l'extension du volume.
Ajouter un pool de serveurs MinIO supplémentaire (recommandé)
Il est conseillé d'ajouter un pool de serveurs MioIO supplémentaire pour votre instance Milvus.
# new-values.yam;
minio:
zones: 2
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Ceci ajoute un pool de serveurs supplémentaire à votre cluster MinIO, ce qui permet à Milvus d'écrire dans le pool de serveurs MinIO en fonction de la capacité de disque libre de chaque pool de serveurs. Par exemple, si un groupe de trois pools dispose d'un total de 10 TiB d'espace libre réparti entre les pools comme suit :
Espace libre | Possibilité d'écriture | |
---|---|---|
Pool A | 3 TiB | 30% (3/10) |
Pool B | 2 TiB | 20% (2/10) |
Groupe C | 5 TiB | 50% (5/10) |
MinIO ne rééquilibre pas automatiquement les objets entre les nouveaux pools de serveurs. Vous pouvez lancer manuellement une procédure de rééquilibrage à l'adresse mc admin rebalance
si nécessaire.
Kafka
Augmentation des ressources par pod de courtier Kafka
Augmentez la capacité du courtier Kafka en ajustant les ressources de CPU et de mémoire pour chaque pod de courtier.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Vous pouvez également augmenter la capacité du disque pour le cluster Kafka en modifiant manuellement la valeur de spec.resources.requests.storage
pour chaque Kafka Persistent Volume Claim (PVC). Assurez-vous que votre classe de stockage par défaut permet l'extension du volume.
Ajouter un pool de courtiers Kafka supplémentaire (recommandé)
Il est conseillé d'ajouter un pool de serveurs Kafka supplémentaire pour votre instance Milvus.
# new-values.yaml
kafka:
replicaCount: 4
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Cela ajoutera un courtier supplémentaire à votre cluster Kafka.
Kafka ne rééquilibre pas automatiquement les sujets entre tous les courtiers. Rééquilibrez manuellement les sujets/partitions entre tous les courtiers Kafka à l'aide de bin/kafka-reassign-partitions.sh
après vous être connecté à chaque pod de courtier Kafka si nécessaire.
Pulsar
Pulsar sépare le calcul et le stockage. Vous pouvez augmenter indépendamment la capacité des brokers Pulsar (calcul) et des bookies Pulsar (stockage).
Augmenter les ressources par module de courtier Pulsar
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Augmenter les ressources par pod de bookmaker Pulsar
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
Après avoir enregistré le fichier, appliquez les changements avec la commande suivante : Augmenter les ressources par module de courtage Pulsar :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Vous pouvez également augmenter la capacité du disque pour le cluster Pulsar en modifiant manuellement la valeur de spec.resources.requests.storage
pour chaque revendication de volume persistant (PVC) du bookmaker Pulsar. Notez que votre classe de stockage par défaut doit permettre l'expansion du volume.
Un pod de bookmaker Pulsar dispose de deux types de stockage : journal
et legers
. Pour le type de stockage journal
, envisagez d'utiliser ssd
ou gp3
comme classe de stockage. Voici un exemple pour spécifier la classe de stockage pour le journal Pulsar.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Ajouter un pod de broker Pulsar supplémentaire
# new-values.yaml
pulsar:
broker:
replicaCount: 3
Après avoir enregistré le fichier, appliquez les modifications à l'aide de la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Ajouter un pod supplémentaire pour le bookmaker Pulsar (Recommandé)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
Après avoir sauvegardé le fichier, appliquez les changements avec la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Augmenter les ressources par module etcd (recommandé)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
Après avoir sauvegardé le fichier, appliquez les changements avec la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Ajouter des modules etcd supplémentaires
Le nombre total de pods etcd doit être impair.
# new-values.yaml
etcd:
replicaCount: 5
Après avoir enregistré le fichier, appliquez les changements avec la commande suivante :
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus