Scala delle dipendenze di Milvus
Milvus si basa su varie dipendenze come MinIO, Kafka, Pulsar e etcd. La scalabilità di questi componenti può migliorare l'adattabilità di Milvus alle diverse esigenze.
Per gli utenti di Milvus Operator, fare riferimento a Configurare la memorizzazione degli oggetti con Milvus Operator, Configurare la metaconservazione con Milvus Operator e Configurare la memorizzazione dei messaggi con Milvus Operator.
Scalare MinIO
Aumentare le risorse per pod MinIO
MinIO, un sistema di archiviazione a oggetti utilizzato da Milvus, può aumentare le risorse di CPU e memoria per ogni pod.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
È inoltre possibile aumentare la capacità del disco per il cluster MioIO modificando manualmente il valore di spec.resources.requests.storage
per ogni MioIO Persistent Volume Claim (PVC). Si noti che la classe di archiviazione predefinita deve consentire l'espansione del volume.
Aggiungere un pool di server MioIO in più (consigliato)
Si consiglia di aggiungere un pool di server MioIO supplementare per l'istanza Milvus.
# new-values.yam;
minio:
zones: 2
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Questo aggiunge un pool di server aggiuntivo al cluster MinIO, consentendo a Milvus di scrivere sul pool di server MinIO in base alla capacità del disco libero di ciascun pool di server. Ad esempio, se un gruppo di tre pool ha un totale di 10 TiB di spazio libero distribuito tra i pool come segue:
Spazio libero | Possibilità di scrittura | |
---|---|---|
Pool A | 3 TiB | 30% (3/10) |
Pool B | 2 TiB | 20% (2/10) |
Pool C | 5 TiB | 50% (5/10) |
MinIO non ribilancia automaticamente gli oggetti tra i nuovi pool di server. Se necessario, è possibile avviare manualmente una procedura di ribilanciamento con mc admin rebalance
.
Kafka
Aumentare le risorse per pod del broker Kafka
Aumentare la capacità del broker Kafka regolando le risorse di CPU e memoria per ogni pod del broker.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
È anche possibile aumentare la capacità del disco per il cluster Kafka modificando manualmente il valore di spec.resources.requests.storage
per ogni Kafka Persistent Volume Claim (PVC). Assicurarsi che la classe di archiviazione predefinita consenta l'espansione del volume.
Aggiungere un pool di broker Kafka in più (consigliato)
Si consiglia di aggiungere un pool di server Kafka in più per la propria istanza Milvus.
# new-values.yaml
kafka:
replicaCount: 4
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Questo aggiungerà un broker in più al cluster Kafka.
Kafka non riequilibra automaticamente gli argomenti tra tutti i broker. Se necessario, riequilibrare manualmente gli argomenti/partizioni tra tutti i broker Kafka utilizzando bin/kafka-reassign-partitions.sh
dopo aver effettuato l'accesso a ciascun pod del broker Kafka.
Pulsar
Pulsar separa calcolo e archiviazione. È possibile aumentare in modo indipendente la capacità dei broker Pulsar (calcolo) e dei bookies Pulsar (storage).
Aumento delle risorse per pod di broker Pulsar
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Aumenta le risorse per pod di Pulsar bookie
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
È inoltre possibile aumentare la capacità del disco per il cluster Pulsar modificando manualmente il valore di spec.resources.requests.storage
per ogni Persistent Volume Claim (PVC) di Pulsar bookie. Si noti che la classe di storage predefinita deve consentire l'espansione del volume.
Un pod Pulsar bookie ha due tipi di storage: journal
e legers
. Per il tipo di storage journal
, si consiglia di utilizzare ssd
o gp3
come classe di storage. Ecco un esempio per specificare la classe di archiviazione per pulsar journal.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Aggiungere un pod Pulsar broker in più
# new-values.yaml
pulsar:
broker:
replicaCount: 3
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Aggiungi un pod Pulsar bookie in più (consigliato)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Aumentare le risorse per pod etcd (consigliato)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Aggiungi pod etcd extra
Il numero totale di pod eccd deve essere dispari.
# new-values.yaml
etcd:
replicaCount: 5
Dopo aver salvato il file, applicare le modifiche con il seguente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus