MilvusOperator, Helm y DockerCompose

Actualizar Milvus Standalone con Milvus Operator

Esta guía describe cómo actualizar tu implementación de Milvus Standalone de la versión v2.5.x a la v3.0-beta utilizando Milvus Operator.

Antes de empezar

Novedades de la versión v3.0-beta

La actualización de Milvus 2.5.x a la versión 3.0-beta conlleva cambios arquitectónicos significativos:

  • Consolidación del coordinador: los coordinadores independientes heredados (dataCoord, queryCoord, indexCoord) se han consolidado en uno solo mixCoord
  • Nuevos componentes: Introducción del nodo de streaming para mejorar el procesamiento de datos
  • Eliminación de componentes: se ha eliminado y consolidado indexNode

Este proceso de actualización garantiza una migración adecuada a la nueva arquitectura. Para obtener más información sobre los cambios en la arquitectura, consulte la Descripción general de la arquitectura de Milvus.

Requisitos

Requisitos del sistema:

  • Clúster de Kubernetes con Milvus independiente desplegado a través de Milvus Operator
  • kubectl configurado para acceder a su clúster
  • Helm 3.x instalado

Requisitos de compatibilidad:

  • Milvus v2.6.0-rc1 no es compatible con la versión v3.0-beta. No se admiten actualizaciones directas desde versiones candidatas.
  • Si actualmente está ejecutando la versión v2.6.0-rc1 y necesita conservar sus datos, consulte esta guía de la comunidad para obtener ayuda con la migración.
  • Debes actualizar a la versión v2.5.16 o posterior antes de actualizar a la v3.0-beta.

Limitaciones de la cola de mensajes: Al actualizar a Milvus v3.0-beta, debes mantener tu elección actual de cola de mensajes. No se admite el cambio entre diferentes sistemas de colas de mensajes durante la actualización. La compatibilidad con el cambio de sistemas de colas de mensajes estará disponible en futuras versiones.

Proceso de actualización

Paso 1: Actualizar Milvus Operator

En primer lugar, actualice su Milvus Operator a la versión 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

Comprueba la actualización del operador:

kubectl -n milvus-operator get pods

Paso 2: Actualiza tu Milvus independiente

2.1 Actualización a la versión 2.5.16

Omite este paso si tu implementación independiente ya ejecuta la versión 2.5.16 o superior.

Crea un archivo de configuración milvusupgrade.yaml para actualizar a la versión 2.5.16:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release  # Replace with your actual release name
spec:
  components:
    image: milvusdb/milvus:v2.5.16

Aplica la configuración:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

Espera a que finalice el proceso:

# Verify all pods are ready
kubectl get pods

2.2 Actualización a la versión v3.0-beta

Una vez que la versión 2.5.16 se ejecute correctamente, actualiza a la versión 3.0-beta:

Actualiza tu archivo de configuración (milvusupgrade.yaml en este ejemplo):

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release  # Replace with your actual release name
spec:
  components:
    image: milvusdb/milvus:v3.0-beta

Aplica la actualización final:

kubectl patch -f milvusupgrade.yaml --patch-file milvusupgrade.yaml --type merge

Comprueba la actualización

Confirma que tu implementación independiente está ejecutando la nueva versión:

# Check pod status
kubectl get pods

Si necesitas ayuda adicional, consulta la documentación de Milvus o el foro de la comunidad.