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.
Bereitstellung eines Kubernetes-Clusters
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen.
- Wählen Sie Container > Kubernetes-Dienst.
- 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.
- 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
- Navigieren Sie zu dem Cluster, den Sie in den Kubernetes-Diensten erstellt haben, und klicken Sie auf ihn.
- Klicken Sie im Navigationsbereich auf der linken Seite auf
Overview
. - Klicken Sie auf der daraufhin angezeigten Übersichtsseite auf Verbinden, um die Ressourcengruppe und das Abonnement anzuzeigen.
Einrichten eines Abonnements und von Anmeldeinformationen
- Führen Sie den folgenden Befehl aus, um Ihr Abonnement festzulegen.
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
- 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 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: