• Über Milvus
  • Erste Schritte
  • Begriffe
  • Benutzerhandbuch
  • Datenimport
  • KI-Tools
  • Administrationshandbuch
  • Werkzeuge
  • Integrationen
  • Anleitungen
  • Häufig gestellte Fragen
  • API Reference
MilvusOperator, Helm, DockerCompose

Upgrade von Milvus Standalone mit Milvus Operator

Diese Anleitung beschreibt, wie Sie eine Milvus 2.6.x-Standalone-Bereitstellung mit Milvus Operator auf Version 3.0.2 aktualisieren können.

Dieses Verfahren wurde von Milvus 2.6.20 auf Milvus v3.0.2 mit Milvus Operator 1.3.0, Woodpecker, einem clusterinternen etcd und einem clusterinternen MinIO getestet. Wenn Sie eine andere Milvus 2.6.x-Patch-Version, Operator-Version, Nachrichtenwarteschlange oder Abhängigkeitskonfiguration verwenden, testen Sie das Upgrade zunächst in einer Nicht-Produktionsumgebung.

Voraussetzungen

  • Ein Kubernetes-Cluster mit einer eigenständigen Milvus 2.6.x-Bereitstellung, die vom Milvus Operator verwaltet wird
  • kubectl Zugriff auf den Cluster
  • Das vollständige Manifest der Milvus-Custom-Resource (CR), das für die bestehende Bereitstellung verwendet wird
  • Die für den bestehenden Milvus-Operator verwendete Installationsmethode und die entsprechenden Manifeste
  • Eine aktuelle Sicherung der Milvus-Metadaten und persistenten Daten

Einschränkungen bei der Nachrichtenwarteschlange: Beim Upgrade auf Milvus v3.0.2 müssen Sie Ihre aktuelle Wahl der Nachrichtenwarteschlange beibehalten. Ein Wechsel zwischen verschiedenen Nachrichtenwarteschlangensystemen während des Upgrades wird nicht unterstützt. Die Unterstützung für den Wechsel des Nachrichtenwarteschlangensystems wird in zukünftigen Versionen verfügbar sein.

Dieses Verfahren gilt nicht für ein Downgrade oder einen Rollback, bei dem das Milvus-Image wieder auf 2.6.x zurückgesetzt wird. Nachdem v3.0.2 Daten geschrieben hat, kann es bei einem reinen Image-Rollback vorkommen, dass der aktualisierte Zustand nicht gelesen werden kann. Wenn das Upgrade fehlschlägt, stoppen Sie Schreibvorgänge und wenden Sie einen Wiederherstellungsplan an, der die vor dem Upgrade erstellten Sicherungen der Metadaten und persistenten Daten wiederherstellt. Testen Sie den Wiederherstellungsplan zunächst in einer Nicht-Produktionsumgebung.

Upgrade-Prozess

Schritt 1: Sichern Sie den aktuellen Milvus-CR

Speichern Sie die aktuelle CR, bevor Sie die Bereitstellung ändern:

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

Verwenden Sie das Quellmanifest Ihrer bestehenden Bereitstellung als Upgrade-Manifest. Wenden Sie die exportierte Sicherungsdatei nicht direkt an, ohne zuvor die vom Server verwalteten Metadaten und Statusfelder zu entfernen.

Schritt 2: Überprüfen Sie die Version des Milvus-Operators

Überprüfen Sie das vom installierten Milvus Operator verwendete Image:

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

Bei dem validierten Upgrade wurde der Milvus Operator in Version 1.3.0 beibehalten. Behalten Sie die Operator-Version bei, die derzeit Ihre Milvus 2.6.x-Bereitstellung verwaltet, es sei denn, Ihre Support-Richtlinie erfordert ein separates Operator-Upgrade. Führen Sie kein Downgrade eines neueren Operators auf die getestete Version durch. Wenn Sie die Operator-Version ändern müssen, verwenden Sie dieselbe Installationsmethode (Helm oder „ kubectl “) sowie denselben Release-Namen und denselben Namespace wie bei der bestehenden Installation und validieren Sie die Operator-Änderung, bevor Sie den Milvus-CR aktualisieren.

Schritt 3: Aktualisieren Sie das Milvus-Image

Ändern Sie im vollständigen Milvus-CR-Manifest nur „ spec.components.image “. Behalten Sie die bestehenden Einstellungen für Modus, Komponenten, Nachrichtenwarteschlange, etcd, Speicher und andere Abhängigkeiten bei. Der folgende Auszug zeigt das zu ändernde Feld; ersetzen Sie nicht Ihre gesamte CR durch diesen Auszug.

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

Wenden Sie das vollständige CR-Manifest an:

kubectl apply --filename milvus.yaml

Überprüfen Sie das Upgrade

Überprüfen Sie den CR-Status, den Pod-Status und die Container-Images:

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}'

Stellen Sie sicher, dass das Milvus-CR „ Healthy “ meldet, das aktuelle Image „ milvusdb/milvus:v3.0.2 “ lautet und die vorhandenen Sammlungen weiterhin abfragbar und durchsuchbar sind. Führen Sie diese Überprüfungen durch, bevor Sie v3.0.2-spezifische Funktionen aktivieren.

Übersetzt vonDeepL

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?