🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Руководство по администрированию
    • Масштабирование

Масштабирование кластера Milvus

Milvus поддерживает горизонтальное масштабирование своих компонентов. Это означает, что вы можете увеличивать или уменьшать количество рабочих узлов каждого типа в зависимости от ваших потребностей.

В этой теме описывается, как масштабировать и расширять кластер Milvus. Мы предполагаем, что перед масштабированием вы уже установили кластер Milvus. Кроме того, мы рекомендуем ознакомиться с архитектурой Milvus до начала работы.

В этом руководстве в качестве примера рассматривается масштабирование трех узлов запросов. Чтобы масштабировать узлы других типов, замените queryNode на соответствующий тип узла в командной строке.

Информацию о том, как масштабировать кластер с помощью Milvus Operator, см. в разделе Масштабирование кластера с помощью Milvus Operator.

Что такое горизонтальное масштабирование?

Горизонтальное масштабирование включает в себя масштабирование наружу и масштабирование внутрь.

Масштабирование наружу

Под масштабированием понимается увеличение количества узлов в кластере. В отличие от увеличения масштаба, при масштабировании не требуется выделять больше ресурсов на один узел кластера. Вместо этого масштабирование расширяет кластер по горизонтали за счет добавления новых узлов.

Scaleout Scaleout

Scaleup Scaleup

Согласно архитектуре Milvus, рабочие узлы без статических данных включают узел запросов, узел данных, индексный узел и прокси. Поэтому вы можете масштабировать эти типы узлов в соответствии с вашими бизнес-потребностями и сценариями работы приложений. Масштабировать кластер Milvus можно как вручную, так и автоматически.

Как правило, масштабирование созданного вами кластера Milvus требуется в случае его чрезмерной загрузки. Ниже перечислены типичные ситуации, в которых может потребоваться масштабирование кластера Milvus:

  • Использование процессора и памяти в течение некоторого времени остается высоким.
  • Пропускная способность запросов становится выше.
  • Требуется более высокая скорость индексирования.
  • Необходимо обрабатывать большие объемы данных.
  • Необходимо обеспечить высокую доступность сервиса Milvus.

Масштабирование внутрь

Масштабирование означает уменьшение количества узлов в кластере. Как правило, масштабирование созданного вами кластера Milvus необходимо, если он недостаточно используется. Ниже перечислены типичные ситуации, когда необходимо масштабировать кластер Milvus:

  • В течение определенного периода времени процессор и память используются слабо.
  • Пропускная способность запросов становится ниже.
  • Более высокая скорость индексирования не требуется.
  • Размер обрабатываемого набора данных невелик.
Мы не рекомендуем резко уменьшать количество рабочих узлов. Например, если в кластере пять узлов данных, мы рекомендуем сокращать по одному узлу данных за раз, чтобы обеспечить доступность сервиса. Если сервис доступен после первой попытки масштабирования, можно продолжить дальнейшее сокращение числа узлов данных.

Предварительные условия

Запустите kubectl get pods, чтобы получить список компонентов и их рабочее состояние в созданном вами кластере Milvus.

NAME                                            READY   STATUS       RESTARTS   AGE
my-release-etcd-0                               1/1     Running      0          1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running      0          1m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running      0          1m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running      0          1m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running      0          1m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running      0          1m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running      0          1m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running      0          1m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running      0          1m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running      0          1m
my-release-minio-5564fbbddc-9sbgv               1/1     Running      0          1m 
Milvus поддерживает только добавление рабочих узлов и не поддерживает добавление компонентов координатора.

Масштабирование кластера Milvus

Масштабировать кластер Milvus можно как вручную, так и автоматически. Если включено автомасштабирование, кластер Milvus будет автоматически сжиматься или расширяться, когда потребление ресурсов процессора и памяти достигнет заданного вами значения.

В настоящее время Milvus 2.1.0 поддерживает только ручное масштабирование.

Масштабирование

Запустите helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values, чтобы вручную уменьшить масштаб узла запросов.

В случае успеха на узел запросов будут добавлены три запущенные капсулы, как показано в следующем примере.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-czq9f    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-jcdcn    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Масштабирование внутрь

Выполните команду helm upgrade my-release milvus/milvus --set queryNode.replicas=1 --reuse-values, чтобы увеличить масштаб узла запросов.

В случае успеха три работающих стручка на узле запросов будут уменьшены до одного, как показано в следующем примере.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Что дальше

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?