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

milvus-logo
LFAI
Главная
  • Начать
  • Home
  • Docs
  • Начать

  • Установить Милвус

  • Запустить Милвус Дистрикт

  • Рулевая диаграмма

Запуск Milvus в Kubernetes с помощью Helm

На этой странице показано, как запустить экземпляр Milvus в Kubernetes с помощью диаграмм Milvus Helm.

Обзор

Helm использует формат упаковки, называемый диаграммами. Диаграмма - это набор файлов, которые описывают связанный набор ресурсов Kubernetes. Milvus предоставляет набор диаграмм, чтобы помочь вам развернуть зависимости и компоненты Milvus.

Необходимые условия

Если у вас возникнут проблемы с установкой образа, свяжитесь с нами по адресу community@zilliz.com и подробно расскажите о проблеме, и мы окажем вам необходимую поддержку.

Установка Milvus Helm Chart

Перед установкой Milvus Helm Charts необходимо добавить репозиторий Milvus Helm.

$ helm repo add milvus https://zilliztech.github.io/milvus-helm/

Репозиторий Milvus Helm Charts по адресу https://github.com/milvus-io/milvus-helm был заархивирован, и вы можете получать дальнейшие обновления по адресу https://github.com/zilliztech/milvus-helm следующим образом:

helm repo add zilliztech https://zilliztech.github.io/milvus-helm/
helm repo update
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus

Архивное хранилище по-прежнему доступно для графиков до версии 4.0.31. Для более поздних выпусков используйте новое репо.

Затем извлеките графики Milvus из репозитория следующим образом:

$ helm repo update

Вы всегда можете выполнить эту команду, чтобы получить последние диаграммы Milvus Helm.

Онлайн-установка

1. Разверните кластер Milvus

После установки диаграммы Helm вы можете запустить Milvus на Kubernetes. В этом разделе мы рассмотрим шаги по запуску Milvus.

$ helm install my-release milvus/milvus

В приведенной выше команде my-release - это имя релиза, а milvus/milvus - локально установленный репозиторий графика. Чтобы использовать другое имя, замените my-release на то, которое вы считаете нужным.

Приведенная выше команда развертывает кластер Milvus с его компонентами и зависимостями, используя конфигурации по умолчанию. Чтобы настроить эти параметры, мы рекомендуем использовать Milvus Sizing Tool для настройки конфигураций на основе фактического объема данных, а затем загрузить соответствующий YAML-файл. Чтобы узнать больше о параметрах конфигурации, обратитесь к разделу Контрольный список конфигураций системы Milvus.

  • Название релиза должно содержать только буквы, цифры и тире. Точки в имени релиза не допускаются.
  • Командная строка по умолчанию устанавливает кластерную версию Milvus при установке Milvus с Helm. При самостоятельной установке Milvus требуется дополнительная настройка.
  • Согласно руководству по миграции устаревших API в Kubernetes, версия API policy/v1beta1 для PodDisruptionBudget больше не обслуживается, начиная с версии 1.25. Вам предлагается перевести манифесты и API-клиенты на использование версии API policy/v1.
    В качестве обходного пути для пользователей, которые все еще используют API-версию PodDisruptionBudget policy/v1beta1 на Kubernetes v1.25 и более поздних версиях, вы можете выполнить следующую команду для установки Milvus:
    . helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
  • Дополнительные сведения см. в разделах Milvus Helm Chart и Helm.

2. Проверка состояния кластера Milvus

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

$ kubectl get pods

Если все подсистемы запущены, результат выполнения команды должен быть похож на следующий:

NAME                                             READY  STATUS   RESTARTS  AGE
my-release-etcd-0                                1/1    Running   0        3m23s
my-release-etcd-1                                1/1    Running   0        3m23s
my-release-etcd-2                                1/1    Running   0        3m23s
my-release-milvus-datanode-68cb87dcbd-4khpm      1/1    Running   0        3m23s
my-release-milvus-indexnode-5c5f7b5bd9-l8hjg     1/1    Running   0        3m24s
my-release-milvus-mixcoord-7fb9488465-dmbbj      1/1    Running   0        3m23s
my-release-milvus-proxy-6bd7f5587-ds2xv          1/1    Running   0        3m24s
my-release-milvus-querynode-5cd8fff495-k6gtg     1/1    Running   0        3m24s
my-release-minio-0                               1/1    Running   0        3m23s
my-release-minio-1                               1/1    Running   0        3m23s
my-release-minio-2                               1/1    Running   0        3m23s
my-release-minio-3                               1/1    Running   0        3m23s
my-release-pulsar-autorecovery-86f5dbdf77-lchpc  1/1    Running   0        3m24s
my-release-pulsar-bookkeeper-0                   1/1    Running   0        3m23s
my-release-pulsar-bookkeeper-1                   1/1    Running   0        98s
my-release-pulsar-broker-556ff89d4c-2m29m        1/1    Running   0        3m23s
my-release-pulsar-proxy-6fbd75db75-nhg4v         1/1    Running   0        3m23s
my-release-pulsar-zookeeper-0                    1/1    Running   0        3m23s
my-release-pulsar-zookeeper-metadata-98zbr       0/1   Completed  0        3m24s

Вы также можете получить доступ к Milvus WebUI по адресу http://127.0.0.1:9091/webui/, чтобы узнать больше о вашем экземпляре Milvus. Для получения подробной информации см. раздел Milvus WebUI.

3. Перенаправление локального порта в Milvus

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

$ kubectl get pod my-release-milvus-proxy-6bd7f5587-ds2xv --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
19530

Результат показывает, что экземпляр Milvus обслуживается на порту по умолчанию 19530.

Если вы развернули Milvus в автономном режиме, измените имя стручка с my-release-milvus-proxy-xxxxxxxxxx-xxxxx на my-release-milvus-xxxxxxxxxx-xxxxx.

Затем выполните следующую команду, чтобы перенаправить локальный порт на порт, на котором работает Milvus.

$ kubectl port-forward service/my-release-milvus 27017:19530
Forwarding from 127.0.0.1:27017 -> 19530

По желанию вы можете использовать :19530 вместо 27017:19530 в приведенной выше команде, чтобы kubectl выделил локальный порт для вас, и вам не пришлось бы управлять конфликтами портов.

По умолчанию переадресация портов в kubectl прослушивает только localhost. Используйте флаг address, если хотите, чтобы Milvus слушал выбранный или все IP-адреса. Следующая команда заставляет port-forward слушать все IP-адреса на хост-машине.

Доступ к Milvus WebUI

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

Чтобы включить доступ к Milvus Web UI, вам нужно перенаправить порт прокси-под на локальный порт.

$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27018:9091
Forwarding from 0.0.0.0:27018 -> 9091

Теперь вы можете получить доступ к Milvus Web UI по адресу http://localhost:27018.

Автономная установка

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

1. Получите манифест Milvus

Выполните следующую команду, чтобы получить манифест Milvus.

$ helm template my-release milvus/milvus > milvus_manifest.yaml

Приведенная выше команда создает шаблоны графиков для кластера Milvus и сохраняет результаты в файле манифеста с именем milvus_manifest.yaml. Используя этот манифест, вы можете установить кластер Milvus с его компонентами и зависимостями в отдельных капсулах.

  • Для установки экземпляра Milvus в автономном режиме, когда все компоненты Milvus содержатся в одном подкате, следует запустить helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml, чтобы вывести шаблоны графиков для экземпляра Milvus в автономном режиме.
  • Чтобы изменить конфигурацию Milvus, загрузите value.yaml шаблон, поместите в него нужные настройки и используйте helm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml для рендеринга манифеста в соответствии с ними.

2. Скачайте скрипт извлечения изображений

Скрипт извлечения изображений разработан на языке Python. Вы должны загрузить скрипт вместе с его зависимостями в файле requirement.txt.

$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/requirements.txt
$ wget https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/offline/save_image.py

3. Извлечение и сохранение изображений

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

$ pip3 install -r requirements.txt
$ python3 save_image.py --manifest milvus_manifest.yaml

Изображения будут извлечены в подпапку с именем images в текущем каталоге.

4. Загрузка изображений

Теперь вы можете загрузить образы на хосты в среде с сетевыми ограничениями следующим образом:

$ for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done

5. Развертывание Milvus

$ kubectl apply -f milvus_manifest.yaml

До этого момента вы можете выполнить шаги 2 и 3 онлайн-установки, чтобы проверить состояние кластера и перенаправить локальный порт на Milvus.

Обновление запущенного кластера Milvus

Выполните следующую команду, чтобы обновить работающий кластер Milvus до последней версии:

$ helm repo update
$ helm upgrade my-release zilliztech/milvus

Деинсталляция Milvus

Выполните следующую команду, чтобы удалить Milvus.

$ helm uninstall my-release

Что дальше

Установив Milvus в Docker, вы можете:

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

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

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

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