milvus-logo
LFAI
Home
  • Leitfaden für die Verwaltung

Bereitstellung von Milvus auf Azure mit AKS

Dieses Thema beschreibt die Bereitstellung und Erstellung eines Clusters mit Azure Kubernetes Service (AKS) und dem Azure-Portal.

Voraussetzungen

Stellen Sie sicher, dass Ihr Azure-Projekt ordnungsgemäß eingerichtet wurde und Sie Zugriff auf die Ressourcen haben, die Sie verwenden möchten. Wenden Sie sich an Ihre Administratoren, wenn Sie sich über Ihre Zugriffsberechtigung nicht sicher sind.

Software-Anforderungen

Alternativ können Sie auch die Cloud Shell verwenden, auf der Azure CLI, kubectl und Helm vorinstalliert sind.

Stellen Sie nach der Installation von Azure CLI sicher, dass Sie ordnungsgemäß authentifiziert sind.

Bereitstellung eines Kubernetes-Clusters

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen.
  3. Wählen Sie Container > Kubernetes-Dienst.
  4. Konfigurieren Sie auf der Seite " Grundlagen" die folgenden Optionen:
  • Projektdetails:

    • Abonnement: Wenden Sie sich an den Azure-Administrator Ihres Unternehmens, um festzustellen, welches Abonnement Sie verwenden sollten.

      • Ressourcengruppe: Wenden Sie sich an den Azure-Administrator Ihres Unternehmens, um zu ermitteln, welche Ressourcengruppe Sie verwenden sollten.
  • Cluster-Details:

    • Kubernetes-Clustername: Geben Sie einen Clusternamen ein.

    • Region: Wählen Sie eine Region aus.

    • Verfügbarkeitszonen: Wählen Sie Verfügbarkeitszonen nach Bedarf aus. Für Produktionscluster wird empfohlen, mehrere Verfügbarkeitszonen auszuwählen.

  • Primärer Knotenpool:

    • Größe des Knotens: Wir empfehlen Ihnen, VMs mit mindestens 16 GB RAM zu wählen, aber Sie können die Größe der virtuellen Maschine nach Bedarf wählen.

    • Skalierungsmethode: Wählen Sie eine Skalierungsmethode.

    • Bereich der Knotenanzahl: Wählen Sie einen Bereich für die Anzahl der Knoten.

  • Knotenpools:

    • Virtuelle Knoten aktivieren: Aktivieren Sie das Kontrollkästchen, um virtuelle Knoten zu aktivieren.

    • Skalierungssätze für virtuelle Maschinen aktivieren: Wir empfehlen, dass Sie enabled wählen.

  • Netzwerkbetrieb:

    • Netzwerkkonfiguration: Es wird empfohlen, Kubenet zu wählen.

    • DNS-Namen-Präfix: Geben Sie ein DNS-Namenspräfix ein.

    • Traffic-Routing:

      • Load Balancer: Standard.

      • HTTP-Anwendungs-Routing: Nicht erforderlich.

  1. Nachdem Sie die Optionen konfiguriert haben, klicken Sie auf Überprüfen + Erstellen und dann auf Erstellen, wenn die Überprüfung abgeschlossen ist. Die Erstellung des Clusters nimmt einige Minuten in Anspruch.

Verbinden Sie sich mit dem Cluster

  1. Navigieren Sie zu dem Cluster, den Sie in den Kubernetes-Diensten erstellt haben, und klicken Sie auf ihn.
  2. Klicken Sie im Navigationsbereich auf der linken Seite auf Overview.
  3. Klicken Sie auf der daraufhin angezeigten Übersichtsseite auf Verbinden, um die Ressourcengruppe und das Abonnement anzuzeigen.

Einrichten eines Abonnements und von Anmeldeinformationen

Sie können Azure Cloud Shell verwenden, um die folgenden Verfahren durchzuführen.
  1. Führen Sie den folgenden Befehl aus, um Ihr Abonnement festzulegen.
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
  1. Führen Sie den folgenden Befehl aus, um Anmeldeinformationen herunterzuladen und die Kubernetes-CLI für deren Verwendung zu konfigurieren.
az aks get-credentials --resource-group YOUR-RESOURCE-GROUP --name YOUR-CLUSTER-NAME
Verwenden Sie für die folgenden Vorgänge dieselbe Shell. Wenn Sie zu einer anderen Shell wechseln, führen Sie die vorangegangenen Befehle erneut aus.

Verwenden von Azure Blob Storage als externer Objektspeicher

Azure Blob Storage ist die Azure-Version von AWS Simple Storage Service (S3).

  • Speicherkonto und Container erstellen
az storage account create -n milvustesting1 -g MyResourceGroup -l eastus --sku Standard_LRS --min-tls-version TLS1_2
az storage container create -n testmilvus --account-name milvustesting1
  • geheimen Schlüssel abrufen, den ersten Wert verwenden
az storage account keys list --account-name milvustesting2
  • values.yaml hinzufügen
cluster:
  enabled: true

service:
  type: LoadBalancer

extraConfigFiles:
  user.yaml: |+
    common:
      storageType: remote

minio:
  enabled: false

externalS3:
  enabled: true
  host: core.windows.net
  port: 443
  rootPath: my-release
  bucketName: testmilvus # the storage account container name
  cloudProvider: azure
  useSSL: true
  accessKey: "milvustesting1" # the storage account name
  secretKey: "<secret-key>" 

Milvus bereitstellen

Jetzt ist der Kubernetes-Cluster bereit. Lassen Sie uns jetzt Milvus bereitstellen.

helm repo add milvus https://zilliztech.github.io/milvus-helm/
helm repo update
helm install -f values.yaml my-release milvus/milvus

In den vorangegangenen Befehlen fügen wir das Repo der Milvus Helm Charts lokal hinzu und aktualisieren das Repo, um die neuesten Charts zu holen. Dann installieren wir eine Milvus-Instanz und nennen sie my-release.

Beachten Sie den Wert von config service.type, der angibt, dass wir die Milvus-Instanz über einen Layer-4-Loadbalancer bereitstellen möchten.

Überprüfen Sie die Bereitstellung

Sobald alle Pods laufen, führen Sie den folgenden Befehl aus, um die externe IP-Adresse zu ermitteln.

kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'

Hallo Milvus

Beziehen Sie sich bitte auf Hello Milvus, ändern Sie den Host-Wert in externe IP-Adresse und führen Sie den Code aus.

Wie geht's weiter?

Wenn Sie erfahren möchten, wie Sie Milvus in anderen Clouds einsetzen können: