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

Konfigurieren Sie Milvus mit Milvus Operator

In einer Produktionsumgebung müssen Sie dem Milvus-Cluster Ressourcen auf der Grundlage des Maschinentyps und der Arbeitslast zuweisen. Sie können die Konfiguration während der Bereitstellung vornehmen oder die Konfigurationen aktualisieren, während der Cluster läuft.

In diesem Thema wird beschrieben, wie Sie einen Milvus-Cluster bei der Installation mit Milvus Operator konfigurieren.

Dieses Thema setzt voraus, dass Sie Milvus Operator installiert haben. Weitere Informationen finden Sie unter Einsetzen von Milvus Operator.

Die Konfiguration eines Milvus-Clusters mit Milvus Operator umfasst:

  • Globale Ressourcenkonfigurationen
  • Private Ressourcenkonfigurationen
Private Ressourcenkonfigurationen überschreiben globale Ressourcenkonfigurationen. Wenn Sie die Ressourcen global konfigurieren und gleichzeitig die private Ressource einer bestimmten Komponente angeben, wird die Komponente priorisiert und reagiert zuerst auf die privaten Konfigurationen.

Globale Ressourcen konfigurieren

Wenn Sie Milvus Operator verwenden, um einen Milvus-Cluster zu starten, müssen Sie eine Konfigurationsdatei angeben. In diesem Beispiel wird die Standardkonfigurationsdatei verwendet.

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

Die Details der Konfigurationsdatei lauten wie folgt:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

Das Feld spec.components enthält sowohl die globale als auch die private Ressourcenkonfiguration aller Milvus-Komponenten. Im Folgenden werden vier häufig verwendete Felder zur Konfiguration der globalen Ressource aufgeführt.

  • image: Das verwendete Milvus-Docker-Image.
  • resources: Die jeder Komponente zugewiesenen Rechenressourcen.
  • tolerations und nodeSelector: Die Planungsregeln für jede Milvus-Komponente im K8s-Cluster. Siehe Toleranzen und nodeSelector für weitere Informationen.
  • env: Die Umgebungsvariablen.

Wenn Sie weitere Felder konfigurieren möchten, lesen Sie die Dokumentation hier.

Um globale Ressourcen für den Milvus-Cluster zu konfigurieren, erstellen Sie eine milvuscluster_resource.yaml Datei.

Beispiel

Das folgende Beispiel konfiguriert die globale Ressource für einen Milvus-Cluster.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    nodeSelector: {}
    tolerations: {}
    env: {}
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi

Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen anzuwenden:

kubectl apply -f milvuscluster_resource.yaml
Die Cluster-Ressourcen werden entsprechend der Konfigurationsdatei aktualisiert, wenn ein Milvus-Cluster namens my-release im K8s-Cluster vorhanden ist. Andernfalls wird ein neuer Milvus-Cluster erstellt.

Private Ressourcen konfigurieren

Ursprünglich umfasst ein Milvus-Cluster in Milvus 2.0 sieben Komponenten: Proxy, Root Coord, Data Coord, Query Coord, Index Node, Data Node und Query Node. Mit Milvus 2.1.0 wird jedoch eine neue Komponente, Mix Coord, veröffentlicht. Mix Coord umfasst alle Koordinatorenkomponenten. Daher bedeutet das Starten eines Mix-Koordinators, dass Sie keine anderen Koordinatoren, einschließlich Root-Koordinator, Datenkoordinator und Abfragekoordinator, installieren und starten müssen.

Zur Konfiguration der einzelnen Komponenten werden die folgenden Felder verwendet:

  • replica: Die Anzahl der Replikate jeder Komponente.
  • port: Die Nummer des Listen-Ports der einzelnen Komponenten.
  • Die vier in der globalen Ressourcenkonfiguration häufig verwendeten Felder: image, env, nodeSelector, tolerations, resources (siehe oben). Weitere konfigurierbare Felder finden Sie, wenn Sie auf die einzelnen Komponenten in dieser Dokumentation klicken.
Außerdem gibt es bei der Konfiguration des Proxys ein zusätzliches Feld namens "serviceType". Dieses Feld definiert den Typ des Dienstes, den Milvus im K8s-Cluster bereitstellt.

Um die Ressourcen für eine bestimmte Komponente zu konfigurieren, fügen Sie zuerst den Komponentennamen in das Feld unter spec.componets ein und konfigurieren dann die privaten Ressourcen.

Zweck Parameter
Leistungsoptimierung
Daten und Metadaten
Verwaltung
Quoten und Limits

Beispiel

Das folgende Beispiel konfiguriert die Replikate und Rechenressourcen von Proxy und Datanode in der Datei milvuscluster.yaml.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi
    rootCoord: 
      replicas: 1
      port: 8080
      resources:
        limits:
          cpu: '6'
          memory: '10Gi'
    dataCoord: {}
    queryCoord: {}
    indexCoord: {}
    dataNode: {}
    indexNode: {}
    queryNode: {}
    proxy:
      replicas: 1
      serviceType: ClusterIP
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
        requests:
          cpu: 100m
          memory: 128Mi
  config: {}
  dependencies: {}
Dieses Beispiel konfiguriert nicht nur globale Ressourcen, sondern auch private Rechenressourcen für Root-Koordinator und Proxy. Wenn Sie diese Konfigurationsdatei zum Starten eines Milvus-Clusters verwenden, werden die Konfigurationen der privaten Ressourcen auf Root-Coord und Proxy angewendet, während die übrigen Komponenten der Konfiguration der globalen Ressourcen folgen.

Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen anzuwenden:

kubectl apply -f milvuscluster.yaml

Wie geht es weiter?

Übersetzt vonDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?