Mise à niveau de Milvus Standalone avec Milvus Operator

Ce guide décrit comment mettre à niveau votre déploiement Milvus autonome de la version 2.5.x à la version 2.6.15 à l'aide de Milvus Operator.

Avant de commencer

Nouveautés de la version 2.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 l'aperçu de l'architecture Milvus.

Exigences

Configuration requise :

  • Cluster Kubernetes avec Milvus standalone déployé via Milvus Operator
  • kubectl configuré pour accéder à votre cluster
  • Helm 3.x installé

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 effectuer une mise à niveau vers la version 2.5.16 ou une version ultérieure avant d'effectuer une mise à niveau vers 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.

Processus de mise à niveau

Etape 1 : Mise à niveau de Milvus Operator

Commencer par mettre à niveau votre Milvus Operator vers la version 1.3.0 :

helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
helm repo update zilliztech-milvus-operator
helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvus-operator

Vérifier la mise à niveau de l'opérateur :

kubectl -n milvus-operator get pods

Etape 2 : Mise à niveau de Milvus standalone

2.1 Mise à niveau vers la version 2.5.16

Sauter cette étape si votre déploiement autonome exécute déjà la version 2.5.16 ou une version supérieure.

Créer un fichier de configuration milvusupgrade.yaml pour passer à la version 2.5.16 :

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release  # Replace with your actual release name
spec:
  components:
    image: milvusdb/milvus:v2.5.16

Appliquer la configuration :

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

Attendre la fin de l'opération :

# Verify all pods are ready
kubectl get pods

2.2 Mise à niveau vers la version 2.6.15

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

Mettez à jour votre fichier de configuration (milvusupgrade.yaml dans cet exemple) :

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release  # Replace with your actual release name
spec:
  components:
    image: milvusdb/milvus:v2.6.15

Appliquer la mise à niveau finale :

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

Vérifier la mise à niveau

Confirmez que votre déploiement autonome exécute la nouvelle version :

# Check pod status
kubectl get pods

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