• О Милвусе
  • Начать
  • Концепции
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебники
  • Вопросы и ответы
  • API Reference

Настройка Milvus с помощью Milvus Operator

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

В этой теме рассказывается о том, как настроить кластер Milvus при его установке с помощью Milvus Operator.

В этой теме предполагается, что вы развернули Milvus Operator. Дополнительные сведения см. в разделе Развертывание Milvus Operator.

Настройка кластера Milvus с помощью Milvus Operator включает в себя:

  • Глобальные конфигурации ресурсов
  • Конфигурации частных ресурсов
Конфигурации частных ресурсов будут перезаписывать конфигурации глобальных ресурсов. Если вы настроите ресурсы глобально и одновременно укажете частный ресурс определенного компонента, компонент будет отдавать приоритет и отвечать на частные конфигурации в первую очередь.

Настройка глобальных ресурсов

При использовании Milvus Operator для запуска кластера Milvus необходимо указать файл конфигурации. В приведенном здесь примере используется файл конфигурации по умолчанию.

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

Детали конфигурационного файла приведены ниже:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

Поле spec.components включает в себя как глобальную, так и частную конфигурацию ресурсов всех компонентов Milvus. Ниже перечислены четыре часто используемых поля для настройки глобального ресурса.

  • image: Используемый образ Milvus docker.
  • resources: Вычислительные ресурсы, выделенные каждому компоненту.
  • tolerations и nodeSelector: Правила планирования для каждого компонента Milvus в кластере K8s. Дополнительные сведения см. в разделах "Допуски" и "Селектор узла".
  • env: Переменные окружения.

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

Чтобы настроить глобальный ресурс для кластера Milvus, создайте файл milvuscluster_resource.yaml.

Пример

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

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    nodeSelector: {}
    tolerations: {}
    env: {}
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi

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

kubectl apply -f milvuscluster_resource.yaml
Ресурсы кластера будут обновлены в соответствии с файлом конфигурации, если в кластере K8s есть кластер Milvus с именем my-release. В противном случае будет создан новый кластер Milvus.

Настройка частных ресурсов

Первоначально в Milvus 2.0 кластер Milvus включал семь компонентов: прокси, корневой коорд, коорд данных, коорд запросов, индексный узел, узел данных и узел запросов. Однако вместе с Milvus 2.1.0 был выпущен новый компонент, mix coord. Mix coord включает в себя все компоненты координатора. Поэтому запуск mix coord означает, что вам не нужно устанавливать и запускать другие координаторы, включая root coord, data coord и query coord.

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

  • replica: : Количество реплик каждого компонента.
  • port: : Номер порта прослушивания каждого компонента.
  • Четыре часто используемых поля в глобальной конфигурации ресурсов: image, env, nodeSelector, tolerations, resources (см. выше). Чтобы узнать больше настраиваемых полей, щелкните на каждом компоненте в этой документации.
Кроме того, при настройке прокси есть дополнительное поле `serviceType`. Это поле определяет тип сервиса, который Milvus предоставляет в кластере K8s.

Чтобы настроить ресурсы для конкретного компонента, сначала добавьте имя компонента в поле spec.componets, а затем настройте его частные ресурсы.

Назначение Параметры
Настройка производительности
Данные и метаданные
Администрирование
Квоты и лимиты

Пример

В приведенном ниже примере в файле milvuscluster.yaml настраиваются реплики и вычислительные ресурсы прокси и датанода.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi
    rootCoord: 
      replicas: 1
      port: 8080
      resources:
        limits:
          cpu: '6'
          memory: '10Gi'
    dataCoord: {}
    queryCoord: {}
    indexCoord: {}
    dataNode: {}
    indexNode: {}
    queryNode: {}
    proxy:
      replicas: 1
      serviceType: ClusterIP
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
        requests:
          cpu: 100m
          memory: 128Mi
  config: {}
  dependencies: {}
В этом примере настраиваются не только глобальные ресурсы, но и частные вычислительные ресурсы для root coord и proxy. При использовании этого файла конфигурации для запуска кластера Milvus конфигурация частных ресурсов будет применена к root coord и proxy, в то время как остальные компоненты будут следовать конфигурации глобальных ресурсов.

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

kubectl apply -f milvuscluster.yaml

Что дальше

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

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

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

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