Actualizar Milvus Cluster con Helm Chart
Esta guía describe cómo actualizar su cluster Milvus con cartas Milvus Helm.
Requisitos previos
- Versión de Helm >= 3.14.0
- Versión de Kubernetes >= 1.20.0
Desde la versión 4.2.21 de Milvus-Helm chart, hemos introducido pulsar-v3.x chart como dependencia. Para compatibilidad con versiones anteriores, por favor actualice su helm a v3.14 o versión posterior, y asegúrese de añadir la opción --reset-then-reuse-values
siempre que utilice helm upgrade
.
Comprobar la carta Milvus Helm
Ejecute los siguientes comandos para comprobar las nuevas versiones de Milvus.
$ helm repo update zilliztech
$ helm search repo zilliztech/milvus --versions
El repositorio de Milvus Helm Charts en https://milvus-io.github.io/milvus-helm/
ha sido archivado y puede obtener más actualizaciones en https://zilliztech.github.io/milvus-helm/
como se indica a continuación:
helm repo add zilliztech https://zilliztech.github.io/milvus-helm
helm repo update
# upgrade existing helm release
helm upgrade my-release zilliztech/milvus --reset-then-reuse-values
El repositorio archivado sigue disponible para las cartas hasta la versión 4.0.31. Para versiones posteriores, utilice el nuevo repositorio.
NAME CHART VERSION APP VERSION DESCRIPTION
zilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.33 2.4.4 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.32 2.4.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.31 2.4.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.30 2.4.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.29 2.4.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.24 2.3.11 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.23 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.22 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.21 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.20 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.18 2.3.10 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.18 2.3.9 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.17 2.3.8 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.16 2.3.7 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.15 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.14 2.3.6 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.13 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.12 2.3.5 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.11 2.3.4 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.10 2.3.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.9 2.3.3 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.8 2.3.2 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.7 2.3.2 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.6 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.5 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.4 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.3 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.2 2.3.1 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...
Puede elegir la ruta de actualización para su Milvus de la siguiente manera:
Actualice Milvus utilizando Helm para una actualización desde una versión menor anterior a v2.2.3 a v2.5.0-beta.
Migre los metadatos antes de la actualización de Milvus v2.1.x a v2.5.0-beta.
Actualizar Milvus usando Helm
Para actualizar Milvus desde una versión menor anterior a v2.2.3 a la última, ejecute los siguientes comandos:
helm repo update zilliztech
helm upgrade my-release zilliztech/milvus --reset-then-reuse-values --version=4.1.24 # use the helm chart version here
Utilice la versión del gráfico Helm en el comando anterior. Para más detalles sobre cómo obtener la versión del gráfico Helm, consulte Comprobar la versión de Milvus.
Migrar los metadatos
Desde Milvus 2.2.0, los metadatos son incompatibles con los de versiones anteriores. Los siguientes fragmentos de ejemplo suponen una actualización de Milvus 2.1.4 a Milvus 2.2.0.
1. Compruebe la versión de Milvus
Ejecute $ helm list
para comprobar la versión de su aplicación Milvus. Puede ver que APP VERSION
es 2.1.4.
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
new-release default 1 2022-11-21 15:41:25.51539 +0800 CST deployed milvus-3.2.18 2.1.4
2. 2. Compruebe los pods en ejecución
Ejecute $ kubectl get pods
para comprobar los pods en ejecución. Puede ver la siguiente salida.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 21m
my-release-etcd-1 1/1 Running 0 21m
my-release-etcd-2 1/1 Running 0 21m
my-release-milvus-datacoord-664c58798d-fl75s 1/1 Running 0 21m
my-release-milvus-datanode-5f75686c55-xfg2r 1/1 Running 0 21m
my-release-milvus-indexcoord-5f98b97589-2l48r 1/1 Running 0 21m
my-release-milvus-indexnode-857b4ddf98-vmd75 1/1 Running 0 21m
my-release-milvus-proxy-6c548f787f-scspp 1/1 Running 0 21m
my-release-milvus-querycoord-c454f44cd-dwmwq 1/1 Running 0 21m
my-release-milvus-querynode-76bb4946d-lbrz6 1/1 Running 0 21m
my-release-milvus-rootcoord-7764c5b686-62msm 1/1 Running 0 21m
my-release-minio-0 1/1 Running 0 21m
my-release-minio-1 1/1 Running 0 21m
my-release-minio-2 1/1 Running 0 21m
my-release-minio-3 1/1 Running 0 21m
my-release-pulsar-bookie-0 1/1 Running 0 21m
my-release-pulsar-bookie-1 1/1 Running 0 21m
my-release-pulsar-bookie-2 1/1 Running 0 21m
my-release-pulsar-bookie-init-tjxpj 0/1 Completed 0 21m
my-release-pulsar-broker-0 1/1 Running 0 21m
my-release-pulsar-proxy-0 1/1 Running 0 21m
my-release-pulsar-pulsar-init-c8vvc 0/1 Completed 0 21m
my-release-pulsar-recovery-0 1/1 Running 0 21m
my-release-pulsar-zookeeper-0 1/1 Running 0 21m
my-release-pulsar-zookeeper-1 1/1 Running 0 20m
my-release-pulsar-zookeeper-2 1/1 Running 0 20m
3. Compruebe la etiqueta de imagen
Compruebe la etiqueta de imagen del pod my-release-milvus-proxy-6c548f787f-scspp
. Puede ver que la versión de su clúster Milvus es v2.1.4.
$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'
# milvusdb/milvus:v2.1.4
4. Migrar los metadatos
Un cambio importante en Milvus 2.2 es la estructura de metadatos de los índices de segmentos. Por lo tanto, necesita utilizar Helm para migrar los metadatos mientras actualiza Milvus de v2.1.x a v2.2.0. Aquí tiene un script para migrar sus metadatos de forma segura.
Este script sólo se aplica a Milvus instalado en un cluster K8s. Retroceda primero a la versión anterior con la operación de retroceso si se produce un error durante el proceso.
La siguiente tabla enumera las operaciones que puede realizar para la migración de metadatos.
Parámetros | Descripción | Valor por defecto | Requerido |
---|---|---|---|
i | El nombre de instancia de Milvus. | None | Verdadero |
n | El espacio de nombres en el que está instalado Milvus. | default | Falso |
s | La versión fuente de Milvus. | None | Verdadero |
t | La versión Milvus de destino. | None | Verdadero |
r | La ruta raíz de Milvus meta. | by-dev | Falso |
w | La nueva etiqueta de imagen de Milvus. | milvusdb/milvus:v2.2.0 | Falso |
m | La etiqueta de imagen de migración meta. | milvusdb/meta-migration:v2.2.0 | Falso |
o | La meta operación de migración. | migrate | Falso |
d | Si desea eliminar la vaina de migración una vez finalizada la migración. | false | Falso |
c | La clase de almacenamiento para el pvc de meta migración. | default storage class | Falso |
e | El enpoint etcd utilizado por milvus. | etcd svc installed with milvus | Falso |
1. Migrar los metadatos
- Descargue el script de migración.
- Detenga los componentes de Milvus. Cualquier sesión en vivo en el etcd de Milvus puede causar un fallo en la migración.
- Cree una copia de seguridad de los metadatos de Milvus.
- Migre los metadatos de Milvus.
- Inicie los componentes de Milvus con una nueva imagen.
2. Actualizar Milvus de v2.1.x a 2.2.0
Los siguientes comandos asumen que usted actualiza Milvus de v2.1.4 a 2.2.0. Cámbielos por las versiones que se ajusten a sus necesidades.
Especifique el nombre de la instancia de Milvus, la versión de Milvus de origen y la versión de Milvus de destino.
./migrate.sh -i my-release -s 2.1.4 -t 2.2.0
Especifique el espacio de nombres con
-n
si su Milvus no está instalado en el espacio de nombres predeterminado de K8s../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0
Especifique la ruta raíz con
-r
si su Milvus está instalado con la costumbrerootpath
../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev
Especifique la etiqueta de imagen con
-w
si su Milvus está instalado con la personalizadaimage
../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -w milvusdb/milvus:v2.2.0
Establezca
-d true
si desea eliminar automáticamente el pod de migración una vez finalizada la migración../migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -w milvusdb/milvus:v2.2.0 -d true
Retroceda y migre de nuevo si la migración falla.
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -o rollback -w milvusdb/milvus:v2.1.4 ./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.2.0 -r by-dev -o migrate -w milvusdb/milvus:v2.2.0