• À propos de Milvus
  • Commencer
  • Concepts
  • Guide de l'utilisateur
  • Importation de données
  • Outils d'IA
  • Guide d'administration
  • Outils
  • Intégrations
  • Tutoriels
  • Foire aux questions
  • API Reference
MilvusOperator, Helm, DockerCompose

Mise à niveau de Milvus Standalone avec Milvus Operator

Ce guide décrit comment mettre à niveau un déploiement autonome de Milvus 2.6.x vers la version 3.0.2 à l'aide de Milvus Operator.

Cette procédure a été validée pour une mise à niveau de Milvus 2.6.20 vers Milvus v3.0.2 avec Milvus Operator 1.3.0, Woodpecker, etcd au sein du cluster et MinIO au sein du cluster. Si vous utilisez une autre version de Milvus 2.6.x, une autre version d’Operator, une autre file d’attente de messages ou une autre configuration des dépendances, testez d’abord la mise à niveau dans un environnement hors production.

Prérequis

  • Un cluster Kubernetes avec un déploiement autonome de Milvus 2.6.x géré par Milvus Operator
  • kubectl Accès au cluster
  • Le manifeste complet de la ressource personnalisée (CR) Milvus utilisé pour le déploiement existant
  • La méthode d’installation et les manifests utilisés pour l’Operator Milvus existant
  • Une sauvegarde récente des métadonnées et des données persistantes de Milvus

Limitations relatives aux files d’attente de messages: lors de la mise à niveau vers Milvus v3.0.2, 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.

Cette procédure ne valide pas une rétrogradation ou une annulation de la mise à jour consistant à revenir à l’image Milvus 2.6.x. Une fois que la version 3.0.2 a écrit des données, une restauration portant uniquement sur l’image peut ne pas parvenir à lire l’état mis à jour. Si la mise à niveau échoue, arrêtez les écritures et utilisez un plan de reprise qui restaure les sauvegardes des métadonnées et des données persistantes antérieures à la mise à niveau. Testez d’abord le plan de reprise dans un environnement hors production.

Processus de mise à niveau

Étape 1 : Sauvegardez le CR Milvus actuel

Enregistrez le CR actuel avant de modifier le déploiement :

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output yaml > milvus-before-upgrade.yaml

Utilisez le manifeste source de votre déploiement existant comme manifeste de mise à niveau. N’appliquez pas directement le fichier de sauvegarde exporté sans avoir préalablement supprimé les métadonnées gérées par le serveur et les champs d’état.

Étape 2 : Vérifier la version de Milvus Operator

Vérifiez l’image utilisée par Milvus Operator installé :

kubectl get deployments --all-namespaces \
  -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{range .spec.template.spec.containers[*]}{.image}{" "}{end}{"\n"}{end}' \
  | grep milvus-operator

La mise à niveau validée a conservé Milvus Operator à la version 1.3.0. Conservez la version de l’Operator qui gère actuellement votre déploiement Milvus 2.6.x, sauf si votre politique de support exige une mise à niveau distincte de l’Operator. Ne revenez pas à une version antérieure de l’Operator par rapport à la version testée. Si vous devez changer de version de l’Operator, utilisez la même méthode d’installation Helm ou kubectl ainsi que le même nom de version et le même espace de noms que l’installation existante, puis validez le changement d’Operator avant de mettre à jour le CR Milvus.

Étape 3 : Mettre à jour l’image Milvus

Dans le manifeste CR Milvus complet, ne modifiez que la section « spec.components.image ». Conservez le mode existant, les paramètres des composants, la file d’attente de messages, l’etcd, le stockage et les autres paramètres de dépendances. L’extrait suivant montre le champ à modifier ; ne remplacez pas votre CR complet par cet extrait.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: <instance-name>
  namespace: <namespace>
spec:
  components:
    image: milvusdb/milvus:v3.0.2

Appliquez le manifeste CR complet :

kubectl apply --filename milvus.yaml

Vérifiez la mise à niveau

Vérifiez l’état du CR, l’état des pods et les images de conteneurs :

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output jsonpath='{.status.status}{"\t"}{.status.currentImage}{"\n"}'

kubectl get pods --namespace <namespace>

kubectl get pods --namespace <namespace> \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Vérifiez que le CR Milvus indique Healthy, que l’image actuelle est milvusdb/milvus:v3.0.2 et que les collections existantes restent consultables et recherchables. Effectuez ces vérifications avant d’activer toute fonctionnalité spécifique à la version 3.0.2.

Traduit parDeepL

Essayez Milvus géré gratuitement

Zilliz Cloud est sans souci, propulsé par Milvus et 10 fois plus rapide.

Commencer
Feedback

Cette page a-t - elle été utile ?