Обновление кластера Milvus с помощью Milvus Operator
В этом руководстве описано, как обновить кластер Milvus с версии v2.5.x до v3.0-beta с помощью Milvus Operator.
Перед началом
Что нового в версии v3.0-beta
Обновление с Milvus 2.5.x до версии 3.0-beta сопряжено со значительными изменениями в архитектуре:
- Объединение координаторов: Устаревшие отдельные координаторы (
dataCoord,queryCoord,indexCoord) были объединены в одинmixCoord - Новые компоненты: введение потокового узла (Streaming Node) для расширенной обработки данных
- Удаление компонентов: удален и объединен
indexNode
Этот процесс обновления обеспечивает правильный переход на новую архитектуру. Для получения дополнительной информации об изменениях в архитектуре см. «Обзор архитектуры Milvus».
Требования
Системные требования:
- Кластер Kubernetes с Milvus, развернутым с помощью Milvus Operator
kubectl, настроенного для доступа к вашему кластеру- Установлен Helm 3.x
Требования к совместимости:
- Milvus v2.6.0-rc1 несовместим с v3.0-beta. Прямое обновление с кандидатов в релизы не поддерживается.
- Если вы в настоящее время используете версию v2.6.0-rc1 и хотите сохранить свои данные, ознакомьтесь с этим руководством сообщества, чтобы получить помощь по миграции.
- Перед обновлением до версии v3.0-beta необходимо выполнить обновление до версии v2.5.16 или более поздней с включенной функцией «
mixCoord».
Ограничения, связанные сочередью сообщений: при обновлении до Milvus v3.0-beta необходимо сохранить текущий выбор системы очереди сообщений. Переключение между различными системами очередей сообщений во время обновления не поддерживается. Поддержка смены систем очередей сообщений будет доступна в будущих версиях.
Процесс обновления
Шаг 1: Обновление Milvus Operator
Сначала обновите Milvus Operator до версии v1.3.7:
helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
helm repo update zilliztech-milvus-operator
helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvus-operator
Проверьте обновление оператора:
kubectl -n milvus-operator get pods
Шаг 2: Обновите кластер Milvus
2.1 Проверьте текущую конфигурацию координатора
Проверьте, использует ли ваш кластер уже mixCoord:
kubectl get pods
Если вместо этого вы видите отдельные поды координатора (datacoord, querycoord, indexcoord), вам необходимо включить mixCoord на следующем шаге.
2.2 Обновление до версии v2.5.16 с помощью mixCoord
Пропустите этот шаг, если в вашем кластере уже работает версия v2.5.16 или выше с включенной функцией mixCoord.
Создайте файл конфигурации milvusupgrade.yaml, чтобы включить mixCoord и выполнить обновление до версии v2.5.16:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
mixCoord:
replicas: 1
image: milvusdb/milvus:v2.5.16
Примените конфигурацию:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Дождитесь завершения:
# Verify all pods are ready
kubectl get pods
2.3 Обновление до версии v3.0-beta
Как только версия v2.5.16 начнёт успешно работать с функцией « mixCoord », выполните обновление до версии v3.0-beta:
Обновите файл конфигурации (в данном примере —milvusupgrade.yaml ):
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v3.0-beta
Примените окончательное обновление:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Проверьте обновление
Убедитесь, что ваш кластер работает на новой версии:
# Check pod status
kubectl get pods
Для получения дополнительной поддержки обратитесь к документации Milvus или форуму сообщества.