Обновление автономного Milvus с помощью диаграмм Helm
В этом руководстве описано, как обновить автономный Milvus с помощью диаграмм Milvus Helm.
Необходимые условия
- Версия Helm >= 3.14.0
- Версия Kubernetes >= 1.20.0
Начиная с версии Milvus-Helm chart 4.2.21, мы ввели зависимость от графика pulsar-v3.x. Для обратной совместимости, пожалуйста, обновите ваш helm до версии 3.14 или более поздней, и не забудьте добавить опцию --reset-then-reuse-values
при использовании helm upgrade
.
Проверка версии Milvus
Выполните следующие команды для проверки новых версий Milvus.
$ helm repo update
$ helm search repo zilliztech/milvus --versions
Репо Milvus Helm Charts по адресу https://milvus-io.github.io/milvus-helm/
было заархивировано, и вы можете получать дальнейшие обновления с https://zilliztech.github.io/milvus-helm/
следующим образом:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update zilliztech
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus --reset-then-reuse-values
Архивное хранилище по-прежнему доступно для диаграмм до версии 4.0.31. Для более поздних выпусков используйте новое репо.
NAME CHART VERSION APP VERSION DESCRIPTION
zilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.33 2.4.4 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.32 2.4.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.31 2.4.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.30 2.4.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.29 2.4.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.24 2.3.11 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.23 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.22 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.21 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.20 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.18 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.18 2.3.9 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.17 2.3.8 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.16 2.3.7 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.15 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.14 2.3.6 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.13 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.12 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.11 2.3.4 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.10 2.3.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.9 2.3.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.8 2.3.2 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.7 2.3.2 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.6 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.5 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.4 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.3 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.2 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...
Вы можете выбрать путь обновления для своего Milvus следующим образом:
Обновите Milvus с помощью Helm для обновления с минорного выпуска до v2.2.3 до v2.5.4.
Перенесите метаданные перед обновлением с Milvus v2.1.x до v2.5.4.
Обновление Milvus с помощью Helm
Чтобы обновить Milvus с минорного выпуска до v2.2.3 до последней версии, выполните следующие команды:
helm repo update
helm upgrade my-release milvus/milvus --reset-then-reuse-values --version=4.1.24 # use the helm chart version here
Используйте версию диаграммы Helm в предыдущей команде. Подробнее о том, как получить версию диаграммы Helm, см. в разделе Проверка версии Milvus.
Перенос метаданных
Начиная с Milvus 2.2.0, метаданные несовместимы с метаданными предыдущих выпусков. Следующие примеры фрагментов предполагают обновление с Milvus 2.1.4 до Milvus 2.2.0.
1. Проверьте версию Milvus
Запустите $ helm list
, чтобы проверить версию приложения Milvus. Вы можете видеть, что APP VERSION
- это 2.1.4.
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
my-release default 1 2022-11-21 15:41:25.51539 +0800 CST deployed milvus-3.2.18 2.1.4
2. Проверьте запущенные подсистемы
Запустите $ kubectl get pods
, чтобы проверить запущенные подсистемы. Вы можете увидеть следующий результат.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 84s
my-release-milvus-standalone-75c599fffc-6rwlj 1/1 Running 0 84s
my-release-minio-744dd9586f-qngzv 1/1 Running 0 84s
3. Проверьте тег изображения
Проверьте тег образа для стручка my-release-milvus-proxy-6c548f787f-scspp
. Вы можете увидеть, что релиз вашего кластера Milvus - v2.1.4.
$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'
# milvusdb/milvus:v2.1.4
4. Перенесите метаданные
Основным изменением в Milvus 2.2 является структура метаданных сегментных индексов. Поэтому при обновлении Milvus с v2.1.x до v2.2.0 необходимо использовать Helm для миграции метаданных. Ниже приведен сценарий для безопасной миграции метаданных.
Этот сценарий применим только к Milvus, установленному на кластере K8s. Если в процессе произойдет ошибка, сначала откатитесь к предыдущей версии с помощью операции отката.
В следующей таблице перечислены операции, которые можно выполнить для миграции метаданных.
Параметры | Описание | Значение по умолчанию | Требуется |
---|---|---|---|
i | Имя экземпляра Milvus. | None | True |
n | Пространство имен, в котором установлен Milvus. | default | False |
s | Исходная версия Milvus. | None | True |
t | Целевая версия Milvus. | None | True |
r | Корневой путь метафайла Milvus. | by-dev | False |
w | Новый тег изображения Milvus. | milvusdb/milvus:v2.2.0 | False |
m | Тег изображения миграции мета. | milvusdb/meta-migration:v2.2.0 | False |
o | Операция мета-миграции. | migrate | False |
d | Удалять ли капсулу миграции после завершения миграции. | false | Ложь |
c | Класс хранения для pvc мета-миграции. | default storage class | False |
e | Энпоинт etcd, используемый milvus. | etcd svc installed with milvus | False |
1. Миграция метаданных
- Загрузите сценарий миграции.
- Остановите компоненты Milvus. Любой живой сеанс в Milvus etcd может привести к сбою миграции.
- Создайте резервную копию метаданных Milvus.
- Перенесите метаданные Milvus.
- Запустите компоненты Milvus с новым образом.
2. Обновление Milvus с версии 2.1.x до 2.5.4
Следующие команды предполагают, что вы обновляете Milvus с версии 2.1.4 до 2.5.4. Измените их на те версии, которые соответствуют вашим потребностям.
Укажите имя экземпляра Milvus, исходную версию Milvus и целевую версию Milvus.
./migrate.sh -i my-release -s 2.1.4 -t 2.5.4
Укажите пространство имен с помощью
-n
, если ваш Milvus установлен не в пространстве имен K8s по умолчанию../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4
Укажите корневой путь с помощью
-r
, если ваш Milvus установлен с пользовательскимrootpath
../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev
Укажите тег изображения с помощью
-w
, если ваш Milvus установлен с пользовательскимimage
../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -w milvusdb/milvus:v2.5.4
Установите
-d true
, если вы хотите автоматически удалить миграционную капсулу после завершения миграции../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -w milvusdb/milvus:v2.5.4 -d true
Откатитесь и выполните миграцию заново, если миграция не удалась.
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -o rollback -w milvusdb/milvus:v2.1.1 ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.4 -r by-dev -o migrate -w milvusdb/milvus:v2.5.4