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 Benutzer von Milvus Operator siehe Abhängigkeiten für Milvus Operator verwalten.
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 die Festplattenkapazität für den MioIO-Cluster auch 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