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 3.0-beta à l'aide de Milvus Operator.

Avant de commencer

Nouveautés de la v3.0-beta

La mise à niveau de Milvus 2.5.x vers 3.0-beta 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 v3.0-beta. 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 à une version ultérieure avant de passer à la version 3.0-beta.

Limitations de la file d'attente des 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 ultérieures.

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 3.0-beta

Une fois que la version 2.5.16 fonctionne correctement, passez à la version 3.0-beta :

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:v3.0-beta

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é.