Actualizar el clúster de Milvus con Milvus Operator

Esta guía describe cómo actualizar tu clúster de Milvus de la versión 2.5.x a la versión 3.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 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ás ejecutando la versión v2.6.0-rc1 y necesitas conservar tus datos, consulta esta guía de la comunidad para obtener ayuda con la migración.
  • Debe actualizar a la versión v2.5.16 o posterior con la opción « mixCoord » activada antes de actualizar a la versión v3.0-beta.

Limitaciones de la cola de mensajes: al actualizar a Milvus v3.0-beta, debes mantener tu opció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: Actualizar el clúster de Milvus

2.1 Comprueba la configuración actual del coordinador

Comprueba si tu clúster ya utiliza mixCoord:

kubectl get pods

Si, en cambio, ves pods de coordinador independientes (datacoord, querycoord, indexcoord), tendrás que habilitar mixCoord en el siguiente paso.

2.2 Actualización a la versión 2.5.16 con mixCoord

Omite este paso si tu clúster ya ejecuta la versión v2.5.16 o superior con mixCoord habilitado.

Crea un archivo de configuración milvusupgrade.yaml para habilitar mixCoord y actualizar a la versión 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

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.3 Actualización a la versión v3.0-beta

Una vez que la versión 2.5.16 se ejecute correctamente con mixCoord, 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 clúster 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.