• О компании Milvus
  • Начать работу
  • Понятия
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебные материалы
  • Часто задаваемые вопросы
  • API Reference
MilvusOperator, Helm, DockerCompose

Обновление автономной версии Milvus с помощью Milvus Operator

В данном руководстве описано, как обновить автономную версию Milvus 2.6.x до версии v3.0.3 с помощью Milvus Operator.

Эта процедура проверена при обновлении с Milvus 2.6.20 до Milvus v3.0.3 с использованием Milvus Operator 1.3.0, Woodpecker, etcd внутри кластера и MinIO внутри кластера. Если вы используете другой патч-релиз Milvus 2.6.x, версию Operator, очередь сообщений или конфигурацию зависимостей, сначала проверьте обновление в тестовой среде.

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

  • Кластер Kubernetes с автономным развертыванием Milvus 2.6.x, управляемым Milvus Operator
  • kubectl доступ к кластеру
  • Полный манифест пользовательского ресурса (CR) Milvus, используемый для существующего развертывания
  • Метод установки и манифесты, используемые для существующего Milvus Operator
  • Актуальная резервная копия метаданных и постоянных данных Milvus

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

Данная процедура не проверяет возможность перехода на более раннюю версию или отката путем возврата образа Milvus к версии 2.6.x. После записи данных версией v3.0.3 откат, выполняемый только на уровне образа, может не прочитать обновленное состояние. Если обновление завершится сбоем, остановите запись данных и воспользуйтесь планом восстановления, который восстанавливает резервные копии метаданных и постоянных данных, созданные до обновления. Сначала проверьте план восстановления в тестовой среде.

Процесс обновления

Шаг 1: Сделайте резервную копию текущего CR Milvus

Сохраните текущий CR перед изменением развертывания:

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output yaml > milvus-before-upgrade.yaml

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

Шаг 2: Проверьте версию Milvus Operator

Проверьте образ, используемый установленным Milvus Operator:

kubectl get deployments --all-namespaces \
  -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{range .spec.template.spec.containers[*]}{.image}{" "}{end}{"\n"}{end}' \
  | grep milvus-operator

В ходе проверенного обновления версия Milvus Operator осталась 1.3.0. Сохраните версию Operator, которая в настоящее время управляет вашим развертыванием Milvus 2.6.x, если только ваша политика поддержки не требует отдельного обновления Operator. Не понижайте версию более нового Operator до протестированной версии. Если вам необходимо изменить версию Operator, используйте тот же метод установки (Helm или kubectl ), а также то же имя выпуска и пространство имён, что и в существующей установке, а затем проверьте изменение Operator перед обновлением Milvus CR.

Шаг 3: Обновите образ Milvus

В полном манифесте CR Milvus изменяйте только spec.components.image. Сохраните существующие настройки режима, компонентов, очереди сообщений, etcd, хранилища и других зависимостей. В приведенном ниже фрагменте показано поле, которое необходимо изменить; не заменяйте весь ваш CR этим фрагментом.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: <instance-name>
  namespace: <namespace>
spec:
  components:
    image: milvusdb/milvus:v3.0.3

Примените полный манифест CR:

kubectl apply --filename milvus.yaml

Проверьте обновление

Проверьте статус CR, статус Pod и образы контейнеров:

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output jsonpath='{.status.status}{"\t"}{.status.currentImage}{"\n"}'

kubectl get pods --namespace <namespace>

kubectl get pods --namespace <namespace> \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Убедитесь, что в CR Milvus указано Healthy, текущий образ — milvusdb/milvus:v3.0.3, а существующие коллекции по-прежнему доступны для запросов и поиска. Выполните эти проверки, прежде чем включать какие-либо функции, специфичные для версии v3.0.3.

ПереведеноDeepL

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

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

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

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