Aggiornamento del cluster Milvus con Helm Chart

Questa guida descrive come aggiornare il cluster Milvus dalla versione v2.5.x alla v3.0-beta utilizzando Helm Chart.

Prima di iniziare

Novità della versione v3.0-beta

L’aggiornamento da Milvus 2.5.x alla versione 3.0-beta comporta cambiamenti architetturali significativi:

  • Consolidamento dei coordinatori: i coordinatori separati legacy (dataCoord, queryCoord, indexCoord) sono stati consolidati in un unico mixCoord
  • Nuovi componenti: introduzione dello Streaming Node per un’elaborazione dei dati potenziata
  • Rimozione di componenti: indexNode è stato rimosso e consolidato

Questo processo di aggiornamento garantisce una corretta migrazione alla nuova architettura. Per ulteriori informazioni sulle modifiche all’architettura, consultare la Panoramica dell’architettura di Milvus.

Requisiti

Requisiti di sistema:

  • Versione di Helm >= 3.14.0
  • Versione di Kubernetes >= 1.20.0
  • Cluster Milvus distribuito tramite Helm Chart

Requisiti di compatibilità:

  • Milvus v2.6.0-rc1 non è compatibile con la versione v3.0-beta. Gli aggiornamenti diretti dalle versioni release candidate non sono supportati.
  • Se attualmente si sta utilizzando la versione v2.6.0-rc1 e si desidera conservare i propri dati, si prega di consultare questa guida della community per assistenza nella migrazione.
  • È necessario eseguire l’aggiornamento alla versione v2.5.16 o successive con l’opzione « mixCoordinator » abilitata prima di passare alla versione v3.0-beta.

Limiti delle code di messaggi: durante l'aggiornamento a Milvus v3.0-beta, è necessario mantenere la scelta attuale della coda di messaggi. Il passaggio tra diversi sistemi di code di messaggi durante l'aggiornamento non è supportato. Il supporto per la modifica dei sistemi di code di messaggi sarà disponibile nelle versioni future.

A partire dalla versione 4.2.21 del chart Helm di Milvus, abbiamo introdotto il chart pulsar-v3.x come dipendenza. Per garantire la retrocompatibilità, si prega di aggiornare Helm alla versione 3.14 o successive e di assicurarsi di aggiungere l’opzione --reset-then-reuse-values ogni volta che si utilizza helm upgrade.

Procedura di aggiornamento

Passaggio 1: Aggiornamento del chart Helm

Per prima cosa, aggiornare il chart Helm di Milvus alla versione 5.0.22:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
Il repository dei chart Helm di Milvus all’indirizzo https://milvus-io.github.io/milvus-helm/ è stato archiviato. Utilizza il nuovo repository https://zilliztech.github.io/milvus-helm/ per le versioni 4.0.31 e successive dei chart.

Per verificare la compatibilità della versione del chart Helm con le versioni di Milvus:

helm search repo zilliztech/milvus --versions

Questa guida presuppone che si stia installando l’ultima versione. Se è necessario installare una versione specifica, specificare il parametro --version di conseguenza.

Passaggio 2: Aggiornamento alla v2.5.16 con mixCoordinator

Verifica se il tuo cluster utilizza attualmente coordinatori separati:

kubectl get pods

Se sono presenti pod di coordinatori separati (datacoord, querycoord, indexcoord), eseguire l'aggiornamento alla v2.5.16 e abilitare 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

Se il cluster utilizza già mixCoordinator, è sufficiente aggiornare l'immagine:

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

Attendere il completamento dell'aggiornamento:

# Verify all pods are ready
kubectl get pods

Passaggio 3: Aggiornamento alla versione v3.0-beta

Una volta che la versione v2.5.16 è in esecuzione con mixCoordinator, esegui l'aggiornamento alla versione v3.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

Verifica l'aggiornamento

Verifica che il tuo cluster stia utilizzando la nuova versione:

# Check pod status
kubectl get pods

# Verify Helm release
helm list

Per ulteriore assistenza, consulta la documentazione di Milvus o il forum della community.