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
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
undnodeSelector
: 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
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.
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.
Abhängigkeiten | Komponenten |
---|---|
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: {}
Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen anzuwenden:
kubectl apply -f milvuscluster.yaml
Wie geht es weiter?
- Erfahren Sie, wie Sie die folgenden Milvus-Abhängigkeiten mit Milvus Operator verwalten können: