Milvus-Abhängigkeiten skalieren
Milvus stützt sich auf verschiedene Abhängigkeiten wie MinIO, Kafka, Pulsar und etcd. Die Skalierung dieser Komponenten kann die Anpassungsfähigkeit von Milvus an unterschiedliche Anforderungen verbessern.
Für Milvus Operator-Benutzer: Konfigurieren Sie Objektspeicher mit Milvus Operator, Konfigurieren Sie Metaspeicher mit Milvus Operator und Konfigurieren Sie Nachrichtenspeicher mit Milvus Operator.
MinIO skalieren
Erhöhen Sie die Ressourcen pro MinIO-Pod
Bei MinIO, einem von Milvus verwendeten Objektspeichersystem, können die CPU- und Speicherressourcen für jeden Pod erhöht werden.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Sie können auch die Festplattenkapazität für den MioIO-Cluster erhöhen, indem Sie den Wert von spec.resources.requests.storage
für jeden MioIO Persistent Volume Claim (PVC) manuell ändern. Beachten Sie, dass Ihre Standardspeicherklasse eine Volume-Erweiterung ermöglichen sollte.
Fügen Sie einen zusätzlichen MinIO-Serverpool hinzu (empfohlen)
Wir empfehlen Ihnen, einen zusätzlichen MioIO-Server-Pool für Ihre Milvus-Instanz hinzuzufügen.
# new-values.yam;
minio:
zones: 2
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Dadurch wird Ihrem MinIO-Cluster ein zusätzlicher Serverpool hinzugefügt, der es Milvus ermöglicht, auf der Grundlage der freien Festplattenkapazität jedes Serverpools in den MinIO-Serverpool zu schreiben. Wenn beispielsweise eine Gruppe von drei Pools über insgesamt 10 TiB freien Speicherplatz verfügt, der sich wie folgt auf die Pools verteilt:
Freier Speicherplatz | Schreibmöglichkeit | |
---|---|---|
Pool A | 3 TiB | 30% (3/10) |
Pool B | 2 TiB | 20% (2/10) |
Pool C | 5 TiB | 50% (5/10) |
MinIO nimmt keine automatische Neuverteilung von Objekten auf neue Serverpools vor. Sie können bei Bedarf manuell einen Rebalance-Vorgang mit mc admin rebalance
initiieren.
Kafka
Erhöhung der Ressourcen pro Kafka-Broker-Pod
Erhöhen Sie die Kapazität des Kafka-Brokers, indem Sie die CPU- und Speicherressourcen für jeden Broker-Pod anpassen.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Sie können auch die Festplattenkapazität für den Kafka-Cluster erhöhen, indem Sie den Wert von spec.resources.requests.storage
für jeden Kafka Persistent Volume Claim (PVC) manuell ändern. Stellen Sie sicher, dass Ihre Standardspeicherklasse eine Volume-Erweiterung zulässt.
Fügen Sie einen zusätzlichen Kafka-Broker-Pool hinzu (empfohlen)
Wir empfehlen Ihnen, einen zusätzlichen Kafka-Server-Pool für Ihre Milvus-Instanz hinzuzufügen.
# new-values.yaml
kafka:
replicaCount: 4
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Dadurch wird Ihrem Kafka-Cluster ein zusätzlicher Broker hinzugefügt.
Kafka gleicht die Themen nicht automatisch zwischen allen Brokern aus. Verteilen Sie Themen/Partitionen manuell auf alle Kafka-Broker, indem Sie bin/kafka-reassign-partitions.sh
verwenden, nachdem Sie sich bei jedem Kafka-Broker-Pod angemeldet haben, falls erforderlich.
Pulsar
Pulsar trennt Berechnungen und Speicher. Sie können die Kapazität von Pulsar-Brokern (Berechnungen) und Pulsar-Bookies (Speicher) unabhängig voneinander erhöhen.
Erhöhung der Ressourcen pro Pulsar-Broker-Pod
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Ressourcen pro Pulsar-Bookie-Pod erhöhen
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Sie können die Festplattenkapazität für den Pulsar-Cluster auch erhöhen, indem Sie den Wert von spec.resources.requests.storage
für den Persistent Volume Claim (PVC) jedes Pulsar-Bookies manuell ändern. Beachten Sie, dass Ihre Standardspeicherklasse eine Volume-Erweiterung zulassen sollte.
Ein Pulsar-Bookie-Pod hat zwei Arten von Speicher: journal
und legers
. Für den Speichertyp journal
sollten Sie ssd
oder gp3
als Speicherklasse verwenden. Hier ist ein Beispiel für die Angabe der Speicherklasse für Pulsar Journal.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Hinzufügen eines zusätzlichen Pulsar-Broker-Pods
# new-values.yaml
pulsar:
broker:
replicaCount: 3
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Hinzufügen eines zusätzlichen Pulsar-Bookie-Pods (empfohlen)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Erhöhen Sie die Ressourcen pro etcd-Pod (empfohlen)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Zusätzliche etcd-Pods hinzufügen
Die Gesamtzahl der etcd-Pods sollte eine ungerade Zahl sein.
# new-values.yaml
etcd:
replicaCount: 5
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus