Aggiornamento del cluster Milvus con Milvus Operator
Questa guida descrive come aggiornare il cluster Milvus dalla versione 2.5.x alla versione 2.6.16 utilizzando Milvus Operator.
Prima di iniziare
Cosa c'è di nuovo nella v2.6.16
L'aggiornamento da Milvus 2.5.x a 2.6.16 comporta cambiamenti architettonici significativi:
- Consolidamento dei coordinatori: I coordinatori separati legacy (
dataCoord,queryCoord,indexCoord) sono stati consolidati in un unico coordinatore.mixCoord - Nuovi componenti: Introduzione di Streaming Node per una migliore elaborazione dei dati.
- 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 Milvus.
Requisiti
Requisiti di sistema:
- cluster Kubernetes con Milvus distribuito tramite Milvus Operator
kubectlconfigurato per accedere al cluster- Helm 3.x installato
Requisiti di compatibilità:
- Milvus v2.6.0-rc1 non è compatibile con v2.6.16. Gli aggiornamenti diretti dalle release candidate non sono supportati.
- Se attualmente si sta eseguendo la v2.6.0-rc1 e si desidera preservare i dati, consultare questa guida della comunità per l'assistenza alla migrazione.
- Prima di eseguire l'aggiornamento alla versione 2.5.16 o successiva, con
mixCoordabilitato, è necessario eseguire l 'aggiornamento alla versione 2.6.16.
Limitazioni della coda di messaggi: Quando si esegue l'aggiornamento a Milvus v2.6.16, è necessario mantenere l'attuale scelta della coda di messaggi. Il passaggio da un sistema di code di messaggi all'altro durante l'aggiornamento non è supportato. Il supporto per il cambio di sistemi di code di messaggi sarà disponibile nelle versioni future.
Procedura di aggiornamento
Fase 1: Aggiornamento di Milvus Operator
Per prima cosa, aggiornare Milvus Operator alla versione v1.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
Verificare l'aggiornamento dell'operatore:
kubectl -n milvus-operator get pods
Fase 2: Aggiornamento del cluster Milvus
2.1 Controllare la configurazione attuale del coordinatore
Verificate se il vostro cluster utilizza già mixCoord:
kubectl get pods
Se invece si vedono pod coordinatori separati (datacoord, querycoord, indexcoord), è necessario abilitare mixCoord nel passaggio successivo.
2.2 Aggiornamento alla v2.5.16 con mixCoord
Saltate questo passaggio se il vostro cluster sta già eseguendo la versione 2.5.16 o superiore con mixCoord abilitato.
Creare un file di configurazione milvusupgrade.yaml per abilitare mixCoord e aggiornare alla v2.5.16:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
mixCoord:
replicas: 1
image: milvusdb/milvus:v2.5.16
Applicare la configurazione:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Attendere il completamento:
# Verify all pods are ready
kubectl get pods
2.3 Aggiornamento alla v2.6.16
Una volta che la v2.5.16 è in esecuzione con successo con mixCoord, aggiornare alla v2.6.16:
Aggiornare il file di configurazione (milvusupgrade.yaml in questo esempio):
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v2.6.16
Applicare l'aggiornamento finale:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Verifica dell'aggiornamento
Confermare che il cluster sta eseguendo la nuova versione:
# Check pod status
kubectl get pods
Per ulteriore supporto, consultare la documentazione Milvus o il forum della comunità.