Обновление автономной версии Milvus с помощью Helm Chart
В данном руководстве описано, как обновить автономную версию Milvus 2.6.x до версии v3.0.3 с помощью Helm.
Эта процедура проверена для обновления с Milvus 2.6.20 до Milvus v3.0.3 с использованием Helm-чарта Milvus версии 5.0.22. Если вы используете другой патч-релиз Milvus 2.6.x или другую версию Helm-чарта, сначала проверьте обновление в тестовой среде.
Необходимые условия
- Helm 3.14.0 или более поздней версии
- Существующий развернутый Milvus 2.6.x, управляемый с помощью Helm
- Значения Helm, используемые для существующего развертывания
- Актуальная резервная копия метаданных Milvus и постоянных данных
Ограничения, связанные сочередью сообщений: при обновлении до Milvus v3.0.3 необходимо сохранить текущий выбор системы очереди сообщений. Переключение между различными системами очередей сообщений во время обновления не поддерживается. Поддержка смены систем очередей сообщений будет доступна в будущих версиях.
Не изменяйте и не понижайте версию диаграммы Helm в рамках этой процедуры. Сохраните версию диаграммы, уже установленную для вашего выпуска Helm. В протестированном базовом сценарии была сохранена диаграмма Helm версии 5.0.22, а был изменен только тег образа Milvus на v3.0.3.
В данной процедуре не проверяется возможность перехода на более раннюю версию или отката путем смены образа Milvus обратно на версию 2.6.x. После записи данных версией v3.0.3 откат, выполняемый только для образа, может не прочитать обновленное состояние. Если обновление завершится сбоем, остановите запись и воспользуйтесь планом восстановления, который восстанавливает метаданные, существовавшие до обновления, и резервные копии постоянных данных. Сначала проверьте план восстановления в тестовой среде.
Процесс обновления
Шаг 1: Обновите репозиторий Helm
Добавьте или обновите репозиторий Helm для Milvus:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm --force-update
helm repo update zilliztech
https://milvus-io.github.io/milvus-helm/ был заархивирован. Для версий диаграмм 4.0.31 и более поздних используйте новый репозиторий https://zilliztech.github.io/milvus-helm/.
Шаг 2: Обновление Milvus
Проверьте версию диаграммы, установленную для вашего выпуска Helm:
helm list --namespace <namespace>
В столбце « CHART » удалите префикс milvus- из значения и используйте оставшуюся версию в формате <current-chart-version>. Затем выполните команду обновления:
helm upgrade <release-name> zilliztech/milvus \
--namespace <namespace> \
--version <current-chart-version> \
--set image.all.tag="v3.0.3" \
--reset-then-reuse-values \
--wait \
--timeout 20m
Опция ` --reset-then-reuse-values ` сохраняет значения из предыдущего релиза, одновременно применяя явное переопределение образа вместо значений по умолчанию выбранного чарта.
Проверка обновления
Проверьте ревизию Helm, статус Pod и образы контейнеров:
helm history <release-name> --namespace <namespace>
kubectl get pods --namespace <namespace>
kubectl get pods --namespace <namespace> \
-o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'
Убедитесь, что все необходимые рабочие нагрузки готовы, Milvus использует « v3.0.3 », а существующие коллекции по-прежнему доступны для запросов и поиска. Завершите эти проверки, прежде чем включать какие-либо функции, специфичные для версии v3.0.3.
Обновление до Milvus 3.0 не включает Storage V3. После проверки обновления ознакомьтесь с Storage V3, прежде чем включать функции, зависящие от него. После того как Milvus запишет данные в Storage V3, переход на более старую версию Milvus, не поддерживающую чтение данных из Storage V3, не допускается.