• Acerca de Milvus
  • Empezar
  • Conceptos
  • Guía del usuario
  • Importación de datos
  • Herramientas de IA
  • Guía de administración
  • Herramientas
  • Integraciones
  • Tutoriales
  • Preguntas frecuentes
  • API Reference
MilvusOperator, Helm y DockerCompose

Actualizar Milvus Standalone con Milvus Operator

Esta guía describe cómo actualizar una implementación independiente de Milvus 2.6.x a la versión 3.0.3 con Milvus Operator.

Este procedimiento se ha validado desde Milvus 2.6.20 hasta Milvus v3.0.3 con Milvus Operator 1.3.0, Woodpecker, etcd dentro del clúster y MinIO dentro del clúster. Si utilizas otra versión de parche de Milvus 2.6.x, otra versión de Operator, otra cola de mensajes o una configuración de dependencias diferente, comprueba primero la actualización en un entorno que no sea de producción.

Requisitos previos

  • Un clúster de Kubernetes con una implementación independiente de Milvus 2.6.x gestionada por Milvus Operator
  • kubectl Acceso al clúster
  • El manifiesto completo del recurso personalizado (CR) de Milvus utilizado para la implementación existente
  • El método de instalación y los manifiestos utilizados para el Milvus Operator existente
  • Una copia de seguridad actualizada de los metadatos y los datos persistentes de Milvus

Limitaciones de la cola de mensajes: al actualizar a Milvus v3.0.3, 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.

Este procedimiento no valida una degradación o una reversión mediante el cambio de la imagen de Milvus a la versión 2.6.x. Una vez que la versión v3.0.3 haya escrito datos, una reversión que afecte únicamente a la imagen podría no leer correctamente el estado actualizado. Si la actualización falla, detén las escrituras y utiliza un plan de recuperación que restaure las copias de seguridad de los metadatos y los datos persistentes anteriores a la actualización. Valida primero el plan de recuperación en un entorno que no sea de producción.

Proceso de actualización

Paso 1: Realizar una copia de seguridad del CR actual de Milvus

Guarde el CR actual antes de modificar la implementación:

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output yaml > milvus-before-upgrade.yaml

Utilice el manifiesto de origen de su implementación actual como manifiesto de actualización. No aplique directamente el archivo de copia de seguridad exportado sin eliminar primero los metadatos gestionados por el servidor y los campos de estado.

Paso 2: Confirma la versión de Milvus Operator

Comprueba la imagen utilizada por el Milvus Operator instalado:

kubectl get deployments --all-namespaces \
  -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\t"}{range .spec.template.spec.containers[*]}{.image}{" "}{end}{"\n"}{end}' \
  | grep milvus-operator

La actualización validada mantuvo Milvus Operator en la versión 1.3.0. Mantén la versión de Operator que gestiona actualmente tu implementación de Milvus 2.6.x, a menos que tu política de soporte técnico requiera una actualización independiente de Operator. No rebajes la versión de un Operator más reciente a la versión probada. Si necesitas cambiar la versión del Operator, utiliza el mismo método de instalación (Helm o kubectl ) y el mismo nombre de versión y espacio de nombres que la instalación existente; a continuación, valida el cambio del Operator antes de actualizar el CR de Milvus.

Paso 3: Actualizar la imagen de Milvus

En el manifiesto completo de Milvus CR, cambia únicamente spec.components.image. Mantén el modo existente, la configuración de los componentes, la cola de mensajes, etcd, el almacenamiento y otras configuraciones de dependencias. El siguiente fragmento muestra el campo que hay que cambiar; no sustituyas tu CR completo por este fragmento.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: <instance-name>
  namespace: <namespace>
spec:
  components:
    image: milvusdb/milvus:v3.0.3

Aplica el manifiesto CR completo:

kubectl apply --filename milvus.yaml

Comprueba la actualización

Comprueba el estado de la CR, el estado de los pods y las imágenes de contenedor:

kubectl get milvus <instance-name> \
  --namespace <namespace> \
  --output jsonpath='{.status.status}{"\t"}{.status.currentImage}{"\n"}'

kubectl get pods --namespace <namespace>

kubectl get pods --namespace <namespace> \
  -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{" "}{end}{"\n"}{end}'

Comprueba que el CR de Milvus indique Healthy, que la imagen actual sea milvusdb/milvus:v3.0.3 y que las colecciones existentes sigan siendo consultables y buscables. Realiza estas comprobaciones antes de habilitar cualquier función específica de la versión 3.0.3.