milvus-logo
LFAI
Home
  • Los geht's

Milvus in Kubernetes mit Helm starten

Diese Seite veranschaulicht, wie man eine Milvus-Instanz in Kubernetes mithilfe von Milvus Helm-Diagrammen startet.

Übersicht

Helm verwendet ein Paketierungsformat namens Charts. Ein Diagramm ist eine Sammlung von Dateien, die einen zusammenhängenden Satz von Kubernetes-Ressourcen beschreiben. Milvus bietet eine Reihe von Diagrammen, die Sie bei der Bereitstellung von Milvus-Abhängigkeiten und -Komponenten unterstützen.

Voraussetzungen

  • Installieren Sie Helm CLI.

  • Erstellen Sie einen K8s-Cluster.

  • Installieren Sie eine StorageClass. Sie können die installierte StorageClass wie folgt überprüfen.

    $ kubectl get sc
    
    NAME                  PROVISIONER                  RECLAIMPOLICY    VOLUMEBIINDINGMODE    ALLOWVOLUMEEXPANSION     AGE
    standard (default)    k8s.io/minikube-hostpath     Delete           Immediate             false 
    
  • Überprüfen Sie vor der Installation die Hardware- und Software-Anforderungen.

  • Es wird empfohlen, vor der Installation von Milvus das Milvus Sizing Tool zu verwenden, um die Hardware-Anforderungen auf der Grundlage Ihrer Datengröße abzuschätzen. Dies hilft, eine optimale Leistung und Ressourcenzuweisung für Ihre Milvus-Installation zu gewährleisten.

Sollten Sie beim Ziehen des Images auf Probleme stoßen, wenden Sie sich bitte an community@zilliz.com und schildern Sie das Problem, damit wir Ihnen die notwendige Unterstützung bieten können.

Milvus Helm Chart installieren

Bevor Sie Milvus Helm Charts installieren, müssen Sie das Milvus Helm Repository hinzufügen.

$ helm repo add milvus https://zilliztech.github.io/milvus-helm/

Das Milvus Helm Charts-Repository unter https://github.com/milvus-io/milvus-helm wurde archiviert und Sie können weitere Aktualisierungen wie folgt von https://github.com/zilliztech/milvus-helm erhalten:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm/
helm repo update
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus

Das archivierte Repository ist weiterhin für die Diagramme bis 4.0.31 verfügbar. Für spätere Versionen verwenden Sie stattdessen das neue Repo.

Holen Sie sich dann die Milvus-Charts wie folgt aus dem Repository:

$ helm repo update

Sie können diesen Befehl jederzeit ausführen, um die neuesten Milvus Helm-Diagramme abzurufen.

Online-Installation

1. Bereitstellen eines Milvus-Clusters

Sobald Sie das Helm-Diagramm installiert haben, können Sie Milvus auf Kubernetes starten. Dieser Abschnitt führt Sie durch die Schritte zum Starten von Milvus.

$ helm install my-release milvus/milvus

Im obigen Befehl ist my-release der Versionsname und milvus/milvus ist das lokal installierte Diagramm-Repository. Wenn Sie einen anderen Namen verwenden möchten, ersetzen Sie my-release mit dem Namen, den Sie für geeignet halten.

Mit dem obigen Befehl wird ein Milvus-Cluster mit seinen Komponenten und Abhängigkeiten unter Verwendung von Standardkonfigurationen bereitgestellt. Um diese Einstellungen anzupassen, empfehlen wir Ihnen, das Milvus Sizing Tool zu verwenden, um die Konfigurationen basierend auf Ihrer tatsächlichen Datengröße anzupassen und dann die entsprechende YAML-Datei herunterzuladen. Weitere Informationen zu den Konfigurationsparametern finden Sie in der Milvus System Configurations Checklist.

  • Der Release-Name sollte nur Buchstaben, Zahlen und Bindestriche enthalten. Punkte sind im Versionsnamen nicht erlaubt.
  • Die Standard-Befehlszeile installiert die Cluster-Version von Milvus bei der Installation von Milvus mit Helm. Bei der Installation von Milvus als Einzelplatzversion sind weitere Einstellungen erforderlich.
  • Gemäß dem veralteten API-Migrationsleitfaden von Kubernetes wird die API-Version policy/v1beta1 von PodDisruptionBudget ab v1.25 nicht mehr unterstützt. Es wird empfohlen, Manifeste und API-Clients zu migrieren, um stattdessen die policy/v1-API-Version zu verwenden.
    Als Workaround für Benutzer, die noch die API-Version policy/v1beta1 von PodDisruptionBudget auf Kubernetes v1.25 und später verwenden, können Sie stattdessen den folgenden Befehl ausführen, um Milvus zu installieren:
    helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
  • Siehe Milvus Helm Chart und Helm für weitere Informationen.

2. Prüfen Sie den Status des Milvus-Clusters

Führen Sie den folgenden Befehl aus, um den Status aller Pods in Ihrem Milvus-Cluster zu überprüfen.

$ kubectl get pods

Wenn alle Pods laufen, sollte die Ausgabe des obigen Befehls ähnlich wie die folgende aussehen:

NAME                                             READY  STATUS   RESTARTS  AGE
my-release-etcd-0                                1/1    Running   0        3m23s
my-release-etcd-1                                1/1    Running   0        3m23s
my-release-etcd-2                                1/1    Running   0        3m23s
my-release-milvus-datanode-68cb87dcbd-4khpm      1/1    Running   0        3m23s
my-release-milvus-indexnode-5c5f7b5bd9-l8hjg     1/1    Running   0        3m24s
my-release-milvus-mixcoord-7fb9488465-dmbbj      1/1    Running   0        3m23s
my-release-milvus-proxy-6bd7f5587-ds2xv          1/1    Running   0        3m24s
my-release-milvus-querynode-5cd8fff495-k6gtg     1/1    Running   0        3m24s
my-release-minio-0                               1/1    Running   0        3m23s
my-release-minio-1                               1/1    Running   0        3m23s
my-release-minio-2                               1/1    Running   0        3m23s
my-release-minio-3                               1/1    Running   0        3m23s
my-release-pulsar-autorecovery-86f5dbdf77-lchpc  1/1    Running   0        3m24s
my-release-pulsar-bookkeeper-0                   1/1    Running   0        3m23s
my-release-pulsar-bookkeeper-1                   1/1    Running   0        98s
my-release-pulsar-broker-556ff89d4c-2m29m        1/1    Running   0        3m23s
my-release-pulsar-proxy-6fbd75db75-nhg4v         1/1    Running   0        3m23s
my-release-pulsar-zookeeper-0                    1/1    Running   0        3m23s
my-release-pulsar-zookeeper-metadata-98zbr       0/1   Completed  0        3m24s

3. Weiterleitung eines lokalen Ports an Milvus

Führen Sie den folgenden Befehl aus, um den Port abzufragen, an dem Ihr Milvus-Cluster arbeitet.

$ kubectl get pod my-release-milvus-proxy-6bd7f5587-ds2xv --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
19530

Die Ausgabe zeigt, dass die Milvus-Instanz auf dem Standard-Port 19530 arbeitet.

Wenn Sie Milvus im Standalone-Modus eingesetzt haben, ändern Sie den Pod-Namen von my-release-milvus-proxy-xxxxxxxxxx-xxxxx in my-release-milvus-xxxxxxxxxx-xxxxx.

Führen Sie dann den folgenden Befehl aus, um einen lokalen Port an den Port weiterzuleiten, an dem Milvus arbeitet.

$ kubectl port-forward service/my-release-milvus 27017:19530
Forwarding from 127.0.0.1:27017 -> 19530

Optional können Sie :19530 anstelle von 27017:19530 im obigen Befehl verwenden, um kubectl einen lokalen Port für Sie zuweisen zu lassen, so dass Sie sich nicht um Portkonflikte kümmern müssen.

Standardmäßig lauscht die Port-Weiterleitung von kubectl nur auf localhost. Verwenden Sie das address Flag, wenn Sie möchten, dass Milvus die ausgewählten oder alle IP-Adressen abhört. Der folgende Befehl sorgt dafür, dass port-forward auf allen IP-Adressen des Host-Rechners lauscht.

$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27017:19530
Forwarding from 0.0.0.0:27017 -> 19530

Offline-Installation

Wenn Sie sich in einer Umgebung mit Netzwerkbeschränkungen befinden, folgen Sie den Anweisungen in diesem Abschnitt, um einen Milvus-Cluster zu starten.

1. Milvus-Manifest abrufen

Führen Sie den folgenden Befehl aus, um das Milvus-Manifest abzurufen.

$ helm template my-release milvus/milvus > milvus_manifest.yaml

Der obige Befehl rendert Diagrammvorlagen für einen Milvus-Cluster und speichert die Ausgabe in einer Manifestdatei namens milvus_manifest.yaml. Mit diesem Manifest können Sie einen Milvus-Cluster mit seinen Komponenten und Abhängigkeiten in separaten Pods installieren.

  • Um eine Milvus-Instanz im Standalone-Modus zu installieren, bei dem alle Milvus-Komponenten in einem einzigen Pod enthalten sind, sollten Sie stattdessen helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml ausführen, um Diagrammvorlagen für eine Milvus-Instanz im Standalone-Modus zu rendern.
  • Um Milvus-Konfigurationen zu ändern, laden Sie die value.yaml Vorlage herunter, fügen Sie die gewünschten Einstellungen hinzu, und verwenden Sie helm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml, um das Manifest entsprechend zu rendern.

2. Download des Image-Pulling-Skripts

Das Image-Pulling-Skript ist in Python entwickelt. Sie sollten das Skript zusammen mit seinen Abhängigkeiten in der Datei requirement.txt herunterladen.

$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/requirements.txt
$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/save_image.py

3. Bilder abrufen und speichern

Führen Sie den folgenden Befehl aus, um die benötigten Bilder zu laden und zu speichern.

$ pip3 install -r requirements.txt
$ python3 save_image.py --manifest milvus_manifest.yaml

Die Bilder werden in einem Unterordner namens images im aktuellen Verzeichnis gespeichert.

4. Bilder laden

Sie können die Bilder nun wie folgt auf die Hosts in der netzbeschränkten Umgebung laden:

$ for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done

5. Milvus bereitstellen

$ kubectl apply -f milvus_manifest.yaml

Bis zu diesem Zeitpunkt können Sie die Schritte 2 und 3 der Online-Installation ausführen, um den Cluster-Status zu überprüfen und einen lokalen Port an Milvus weiterzuleiten.

Upgrade des laufenden Milvus-Clusters

Führen Sie den folgenden Befehl aus, um Ihren laufenden Milvus-Cluster auf die neueste Version zu aktualisieren:

$ helm repo update
$ helm upgrade my-release zilliztech/milvus

Milvus deinstallieren

Führen Sie den folgenden Befehl aus, um Milvus zu deinstallieren.

$ helm uninstall my-release

Wie geht es weiter?

Nachdem Sie Milvus in Docker installiert haben, können Sie:

Übersetzt vonDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?