Mise à niveau du cluster Milvus à l'aide d'un Helm Chart

Ce guide décrit comment mettre à niveau votre cluster Milvus de la version v2.5.x à la version v3.0-beta à l'aide d'un Helm Chart.

Avant de commencer

Nouveautés de la version 3.0-beta

La mise à niveau de Milvus 2.5.x vers la version 3.0-beta implique des changements architecturaux importants :

  • Consolidation des coordinateurs: les anciens coordinateurs distincts (dataCoord, queryCoord, indexCoord) ont été regroupés en un seul mixCoord
  • Nouveaux composants: introduction du nœud de streaming pour un traitement amélioré des données
  • Suppression de composants: indexNode a été supprimé et consolidé

Ce processus de mise à niveau garantit une migration correcte vers la nouvelle architecture. Pour plus d’informations sur les modifications apportées à l’architecture, consultez la présentation de l’architecture de Milvus.

Configuration requise

Configuration système requise :

  • Version de Helm >= 3.14.0
  • Version de Kubernetes >= 1.20.0
  • Cluster Milvus déployé via Helm Chart

Exigences de compatibilité :

  • Milvus v2.6.0-rc1 n' est pas compatible avec la version v3.0-beta. Les mises à niveau directes à partir de versions candidates ne sont pas prises en charge.
  • Si vous utilisez actuellement la version v2.6.0-rc1 et que vous souhaitez conserver vos données, veuillez consulter ce guide de la communauté pour obtenir de l'aide concernant la migration.
  • Vous devez effectuer une mise à niveau vers la version v2.5.16 ou ultérieure avec l’option « mixCoordinator » activée avant de passer à la version v3.0-beta.

Limitations relatives aux files d’attente de messages: lors de la mise à niveau vers Milvus v3.0-beta, vous devez conserver votre choix actuel de file d’attente de messages. Le passage d’un système de file d’attente de messages à un autre pendant la mise à niveau n’est pas pris en charge. La prise en charge du changement de système de file d’attente de messages sera disponible dans les versions futures.

Depuis la version 4.2.21 du Helm chart de Milvus, nous avons introduit le chart pulsar-v3.x en tant que dépendance. Pour des raisons de compatibilité ascendante, veuillez mettre à jour votre Helm vers la version 3.14 ou une version ultérieure, et veillez à ajouter l’option --reset-then-reuse-values chaque fois que vous utilisez helm upgrade.

Processus de mise à jour

Étape 1 : Mise à niveau du chart Helm

Commencez par mettre à jour votre chart Helm Milvus vers la version 5.0.22 :

helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
Le dépôt des charts Helm Milvus situé à l’adresse https://milvus-io.github.io/milvus-helm/ a été archivé. Utilisez le nouveau dépôt https://zilliztech.github.io/milvus-helm/ pour les versions 4.0.31 et ultérieures des charts.

Pour vérifier la compatibilité des versions des Helm Charts avec celles de Milvus :

helm search repo zilliztech/milvus --versions

Ce guide part du principe que vous installez la dernière version. Si vous devez installer une version spécifique, spécifiez le paramètre --version en conséquence.

Étape 2 : Mise à niveau vers la version 2.5.16 avec mixCoordinator

Vérifiez si votre cluster utilise actuellement des coordinateurs distincts :

kubectl get pods

Si vous voyez des pods de coordinateurs distincts (datacoord, querycoord, indexcoord), effectuez la mise à niveau vers la v2.5.16 et activez mixCoordinator:

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.5.16" \
  --set mixCoordinator.enabled=true \
  --set rootCoordinator.enabled=false \
  --set indexCoordinator.enabled=false \
  --set queryCoordinator.enabled=false \
  --set dataCoordinator.enabled=false \
  --reset-then-reuse-values \
  --version=4.2.58

Si votre cluster utilise déjà mixCoordinator, il vous suffit de mettre à jour l'image :

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.5.16" \
  --reset-then-reuse-values \
  --version=4.2.58

Attendez que la mise à jour soit terminée :

# Verify all pods are ready
kubectl get pods

Étape 3 : Passez à la version v3.0-beta

Une fois que la version 2.5.16 fonctionne correctement avec mixCoordinator, effectuez la mise à niveau vers la version 3.0-beta :

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v3.0-beta" \
  --set streaming.enabled=true \
  --set indexNode.enabled=false \
  --reset-then-reuse-values \
  --version=5.0.22

Vérifiez la mise à jour

Vérifiez que votre cluster exécute bien la nouvelle version :

# Check pod status
kubectl get pods

# Verify Helm release
helm list

Pour obtenir une assistance supplémentaire, consultez la documentation Milvus ou le forum de la communauté.