Mise à niveau du cluster Milvus avec Helm Chart

Ce guide décrit comment mettre à niveau votre cluster Milvus de la version 2.5.x à la version 2.6.15 à l'aide de Helm Chart.

Avant de commencer

Nouveautés de la v2.6.15

La mise à niveau de Milvus 2.5.x vers 2.6.15 implique des changements architecturaux importants :

  • Consolidation des coordinateurs: Les anciens coordinateurs séparés (dataCoord, queryCoord, indexCoord) ont été consolidés en un seul. mixCoord
  • Nouveaux composants: Introduction d'un nœud de streaming pour un meilleur traitement des données
  • Suppression de composants: indexNode supprimé et consolidé

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

Exigences

Configuration 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 v2.6.15. Les mises à niveau directes à partir des versions candidates ne sont pas prises en charge.
  • Si vous utilisez actuellement la version 2.6.0-rc1 et que vous devez préserver vos données, veuillez vous référer à ce guide de la communauté pour obtenir de l'aide à la migration.
  • Vous devez passer à la version 2.5.16 ou ultérieure avec mixCoordinator activé avant de passer à la version 2.6.15.

Limitations de la file d'attente des messages: Lors de la mise à niveau vers Milvus v2.6.15, 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 prochaines versions.

Depuis la version 4.2.21 de la carte Milvus Helm, nous avons introduit la carte pulsar-v3.x comme dépendance. Pour une compatibilité ascendante, veuillez mettre à jour votre Helm vers la version 3.14 ou une version plus récente, et assurez-vous d'ajouter l'option --reset-then-reuse-values chaque fois que vous utilisez helm upgrade.

Processus de mise à jour

Etape 1 : Mise à niveau de la carte Helm

Tout d'abord, mettez à niveau votre diagramme Milvus Helm vers la version 5.0.0 :

helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
Le repo Milvus Helm Charts à l'adresse https://milvus-io.github.io/milvus-helm/ a été archivé. Utilisez le nouveau repo https://zilliztech.github.io/milvus-helm/ pour les versions 4.0.31 et ultérieures de la carte.

Pour vérifier la compatibilité de la version de la carte Helm avec les versions de Milvus :

helm search repo zilliztech/milvus --versions

Ce guide suppose 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 séparés :

kubectl get pods

Si vous voyez des pods de coordinateurs séparés (datacoord, querycoord, indexcoord), mettez à niveau vers la version 2.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, mettez simplement à 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 à niveau soit terminée :

# Verify all pods are ready
kubectl get pods

Étape 3 : Mise à niveau vers la version 2.6.15

Une fois que la version 2.5.16 fonctionne correctement avec mixCoordinator, passez à la version 2.6.15 :

helm upgrade my-release zilliztech/milvus \
  --set image.all.tag="v2.6.15" \
  --set streaming.enabled=true \
  --set indexNode.enabled=false \
  --reset-then-reuse-values \
  --version=5.0.0

Vérifier la mise à niveau

Confirmez que votre cluster exécute 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é.