Actualizar Milvus Cluster con Milvus Operator

Esta guía describe cómo actualizar su cluster Milvus de v2.5.x a v3.0-beta utilizando Milvus Operator.

Antes de comenzar

Novedades de v3.0-beta

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

  • Consolidación decoordinadores: Los coordinadores independientes heredados (dataCoord, queryCoord, indexCoord) se han consolidado en uno solo. mixCoord
  • Nuevos componentes: Introducción de Streaming Node para mejorar el procesamiento de datos
  • Eliminación decomponentes: indexNode eliminado y consolidado

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 Visió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 v3.0-beta. Las actualizaciones directas desde versiones candidatas no son compatibles.
  • Si actualmente está ejecutando v2.6.0-rc1 y necesita conservar sus datos, consulte esta guía de la comunidad para obtener ayuda sobre la migración.
  • Debe actualizar a v2.5.16 o posterior con mixCoord activado antes de actualizar a v3.0-beta.

Limitaciones de la cola de mensajes: Al actualizar a Milvus v3.0-beta, debe mantener su elección actual de cola de mensajes. No es posible cambiar entre diferentes sistemas de colas de mensajes durante la actualización. El soporte para 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 v1.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

Verifique la actualización del operador:

kubectl -n milvus-operator get pods

Paso 2: Actualice su cluster Milvus

2.1 Compruebe la configuración actual del coordinador

Compruebe si su cluster ya utiliza mixCoord:

kubectl get pods

Si ve pods de coordinador separados (datacoord, querycoord, indexcoord) en su lugar, necesita habilitar mixCoord en el siguiente paso.

2.2 Actualización a v2.5.16 con mixCoord

Omita este paso si su cluster ya está ejecutando v2.5.16 o superior con mixCoord habilitado.

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

Aplique la configuración:

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

Espere a que se complete:

# Verify all pods are ready
kubectl get pods

2.3 Actualización a v3.0-beta

Una vez que la versión 2.5.16 funcione correctamente con mixCoord, actualice a la versión 3.0-beta:

Actualice su 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

Aplique la actualización final:

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

Verifique la actualización

Confirme que su clúster está ejecutando la nueva versión:

# Check pod status
kubectl get pods

Para soporte adicional, consulte la documentación de Milvus o el foro de la comunidad.