milvus-logo
LFAI
Home
  • Guía de administración
    • Escala

Escalar un clúster Milvus

Milvus soporta el escalado horizontal de sus componentes. Esto significa que puede aumentar o disminuir el número de nodos trabajadores de cada tipo según sus propias necesidades.

Este tema describe cómo escalar y reducir un cluster Milvus. Asumimos que ya ha instalado un cluster Milvus antes de escalar. Además, le recomendamos que se familiarice con la arquitectura de Milvus antes de empezar.

Este tutorial toma como ejemplo la ampliación de tres nodos de consulta. Para escalar otros tipos de nodos, sustituya queryNode por el tipo de nodo correspondiente en la línea de comandos.

Para obtener información sobre cómo escalar un clúster con Milvus Operator, consulte Escalar un clúster con Milvus Operator.

¿Qué es el escalado horizontal?

El escalado horizontal incluye el escalado de salida y de entrada.

Ampliación

La ampliación horizontal consiste en aumentar el número de nodos de un clúster. A diferencia del escalado ascendente, el escalado descendente no requiere asignar más recursos a un nodo del clúster. En su lugar, el escalado expande el clúster horizontalmente añadiendo más nodos.

Scaleout Ampliación

Scaleup Ampliación

De acuerdo con la arquitectura Milvus, los nodos trabajadores sin estado incluyen el nodo de consulta, el nodo de datos, el nodo de índice y el proxy. Por lo tanto, puede ampliar este tipo de nodos para adaptarlos a sus necesidades empresariales y escenarios de aplicación. Puede escalar el cluster Milvus manual o automáticamente.

Generalmente, necesitará escalar el cluster Milvus que ha creado si está sobreutilizado. A continuación se detallan algunas situaciones típicas en las que puede necesitar escalar el cluster Milvus:

  • La utilización de CPU y memoria es alta durante un período de tiempo.
  • El rendimiento de las consultas es mayor.
  • Se requiere una mayor velocidad de indexación.
  • Es necesario procesar volúmenes masivos de grandes conjuntos de datos.
  • Es necesario garantizar una alta disponibilidad del servicio Milvus.

Ampliación

La ampliación consiste en reducir el número de nodos de un clúster. Generalmente, necesitará escalar el cluster Milvus que ha creado si está infrautilizado. A continuación se indican algunas situaciones típicas en las que necesitará escalar el cluster Milvus:

  • La utilización de CPU y memoria es baja durante un período de tiempo.
  • El rendimiento de las consultas es menor.
  • No se requiere una mayor velocidad de indexación.
  • El tamaño del conjunto de datos a procesar es pequeño.
No recomendamos reducir drásticamente el número de nodos trabajadores. Por ejemplo, si hay cinco nodos de datos en el clúster, recomendamos reducir un nodo de datos cada vez para garantizar la disponibilidad del servicio. Si el servicio está disponible tras el primer intento de ampliación, puede seguir reduciendo el número de nodos de datos.

Requisitos previos

Ejecute kubectl get pods para obtener una lista de los componentes y su estado de funcionamiento en el cluster Milvus que ha creado.

NAME                                            READY   STATUS       RESTARTS   AGE
my-release-etcd-0                               1/1     Running      0          1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running      0          1m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running      0          1m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running      0          1m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running      0          1m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running      0          1m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running      0          1m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running      0          1m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running      0          1m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running      0          1m
my-release-minio-5564fbbddc-9sbgv               1/1     Running      0          1m 
Milvus sólo admite la adición de los nodos trabajadores y no admite la adición de los componentes coordinadores.

Escalar un cluster Milvus

Puede escalar su cluster Milvus manual o automáticamente. Si el autoescalado está activado, el cluster Milvus se reducirá o expandirá automáticamente cuando el consumo de recursos de CPU y memoria alcance el valor que usted haya establecido.

Actualmente, Milvus 2.1.0 sólo soporta el escalado manual.

Reducción

Ejecute helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values para ampliar manualmente el nodo de consulta.

Si tiene éxito, se añaden tres pods en ejecución en el nodo de consulta como se muestra en el siguiente ejemplo.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-czq9f    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-jcdcn    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Ampliación

Ejecute helm upgrade my-release milvus/milvus --set queryNode.replicas=1 --reuse-values para ampliar el nodo de consulta.

Si tiene éxito, tres pods en ejecución en el nodo de consulta se reducen a uno como se muestra en el siguiente ejemplo.

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

Lo que sigue

Traducido porDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?