Зависимости для масштабирования Milvus
Milvus зависит от различных зависимостей, таких как MinIO, Kafka, Pulsar и etcd. Масштабирование этих компонентов может повысить адаптивность Milvus к различным требованиям.
Для пользователей Milvus Operator см. разделы "Настройка хранилища объектов с помощью Milvus Operator", "Настройка метахранилища с помощью Milvus Operator" и "Настройка хранилища сообщений с помощью Milvus Operator".
Масштабирование MinIO
Увеличение ресурсов на одну капсулу MinIO
MinIO, система хранения объектов, используемая Milvus, может увеличить ресурсы процессора и памяти для каждого стручка.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Вы также можете увеличить дисковую емкость кластера MioIO, вручную изменив значение spec.resources.requests.storage
для каждого MioIO Persistent Volume Claim (PVC). Обратите внимание, что класс хранения по умолчанию должен позволять расширение тома.
Добавьте дополнительный пул серверов MinIO (рекомендуется)
Рекомендуется добавить дополнительный пул серверов MioIO для экземпляра Milvus.
# new-values.yam;
minio:
zones: 2
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Это добавит дополнительный пул серверов в ваш кластер MinIO, что позволит Milvus записывать данные в пул серверов MinIO на основе свободного дискового пространства каждого пула серверов. Например, если группа из трех пулов имеет в общей сложности 10 ТБ свободного пространства, распределенного между пулами следующим образом:
Свободное пространство | Возможность записи | |
---|---|---|
Пул A | 3 Тб | 30% (3/10) |
Пул B | 2 ТиБ | 20% (2/10) |
Пул C | 5 ТиБ | 50% (5/10) |
MinIO не производит автоматическую ребалансировку объектов в новых пулах серверов. При необходимости вы можете вручную инициировать процедуру ребалансировки с помощью mc admin rebalance
.
Kafka
Увеличение ресурсов для каждого стручка брокера Kafka
Увеличьте пропускную способность брокера Kafka, настроив ресурсы процессора и памяти для каждого пода брокера.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Вы также можете увеличить емкость диска для кластера Kafka, вручную изменив значение spec.resources.requests.storage
для каждого Kafka Persistent Volume Claim (PVC). Убедитесь, что класс хранения по умолчанию позволяет увеличить объем.
Добавьте дополнительный пул брокеров Kafka (рекомендуется)
Рекомендуется добавить дополнительный пул серверов Kafka для экземпляра Milvus.
# new-values.yaml
kafka:
replicaCount: 4
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Это добавит дополнительный брокер в ваш кластер Kafka.
Kafka не производит автоматическую ребалансировку тем между всеми брокерами. При необходимости вручную перебалансируйте темы/разделы между всеми брокерами Kafka с помощью bin/kafka-reassign-partitions.sh
после входа в каждый стручок брокера Kafka.
Pulsar
Pulsar разделяет вычисления и хранение. Вы можете независимо увеличивать емкость брокеров Pulsar (вычисления) и букридеров Pulsar (хранение).
Увеличение ресурсов на один брокерский подиум Pulsar
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Увеличить количество ресурсов на одну капсулу букмекера Pulsar
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Вы также можете увеличить дисковую емкость кластера Pulsar, вручную изменив значение spec.resources.requests.storage
для Persistent Volume Claim (PVC) каждого брокера Pulsar. Обратите внимание, что класс хранения по умолчанию должен допускать расширение тома.
Капсула букмекера Pulsar имеет два типа хранилища: journal
и legers
. Для хранилища типа journal
в качестве класса хранилища следует использовать ssd
или gp3
. Вот пример указания класса хранилища для журнала pulsar.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Добавьте дополнительный брокерский стручок Pulsar
# new-values.yaml
pulsar:
broker:
replicaCount: 3
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Добавить дополнительную капсулу Pulsar bookie pod (рекомендуется)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
После сохранения файла примените изменения следующей командой:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Увеличить количество ресурсов для каждого пода etcd (рекомендуется)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
После сохранения файла примените изменения следующей командой:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Добавить дополнительные etcd-подсистемы
Общее количество etcd-подов должно быть нечетным.
# new-values.yaml
etcd:
replicaCount: 5
После сохранения файла примените изменения с помощью следующей команды:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus