Обновление кластера Milvus с помощью Milvus Operator
В этом руководстве описано, как обновить кластер Milvus с версии 2.5.x до версии 2.6.15 с помощью Milvus Operator.
Прежде чем начать
Что нового в версии 2.6.15
Обновление с Milvus 2.5.x до 2.6.15 связано со значительными архитектурными изменениями:
- Объединение координаторов: Устаревшие отдельные координаторы (
dataCoord,queryCoord,indexCoord) были объединены в один.mixCoord - Новые компоненты: Внедрение потокового узла для улучшенной обработки данных
- Удаление компонентов:
indexNodeудален и консолидирован.
Этот процесс обновления обеспечивает правильную миграцию на новую архитектуру. Более подробную информацию об изменениях в архитектуре см. в разделе Обзор архитектуры Milvus.
Требования
Системные требования:
- Кластер Kubernetes с развернутым Milvus через Milvus Operator
kubectlнастроенный для доступа к вашему кластеру- Установлен Helm 3.x
Требования к совместимости:
- Milvus v2.6.0-rc1 не совместим с v2.6.15. Прямое обновление с релиз-кандидатов не поддерживается.
- Если вы используете v2.6.0-rc1 и хотите сохранить свои данные, обратитесь к этому руководству сообщества за помощью в миграции.
- Перед обновлением до v2.6.15 необходимо перейти на версию v2.5.16 или более позднюю с включенным
mixCoord.
Ограничения очереди сообщений: При обновлении до Milvus v2.6.15 вы должны сохранить текущий выбор очереди сообщений. Переключение между различными системами очередей сообщений во время обновления не поддерживается. Поддержка смены систем очередей сообщений будет доступна в будущих версиях.
Процесс обновления
Шаг 1: Обновление Milvus Operator
Сначала обновите Milvus Operator до версии 1.3.0:
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 Обновление до версии 2.5.16 с помощью mixCoord
Пропустите этот шаг, если ваш кластер уже работает под управлением версии 2.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 Обновление до v2.6.15
После успешной работы v2.5.16 с mixCoord перейдите на v2.6.15:
Обновите файл конфигурации (milvusupgrade.yaml в данном примере):
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release # Replace with your actual release name
spec:
components:
image: milvusdb/milvus:v2.6.15
Примените финальное обновление:
kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge
Проверка обновления
Убедитесь, что на вашем кластере установлена новая версия:
# Check pod status
kubectl get pods
Для получения дополнительной поддержки обратитесь к документации Milvus или на форум сообщества.