Dependencias de Scale Milvus
Milvus depende de varios componentes como MinIO, Kafka, Pulsar y etcd. Escalar estos componentes puede mejorar la adaptabilidad de Milvus a diferentes requisitos.
Para los usuarios de Milvus Operator, consulte Configurar el almacenamiento de objetos con Milvus Operator, Configurar el metaalmacenamiento con Milvus Operator y Configurar el almacenamiento de mensajes con Milvus Operator.
Escalar MinIO
Aumente los recursos por pod MinIO
MinIO, un sistema de almacenamiento de objetos utilizado por Milvus, puede aumentar sus recursos de CPU y memoria para cada pod.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
También puede aumentar la capacidad de disco para el cluster MioIO cambiando manualmente el valor de spec.resources.requests.storage
para cada MioIO Persistent Volume Claim (PVC). Tenga en cuenta que su clase de almacenamiento predeterminada debe permitir la ampliación del volumen.
Añadir un grupo de servidores MinIO adicional (recomendado)
Se recomienda añadir un grupo de servidores MioIO adicional para su instancia de Milvus.
# new-values.yam;
minio:
zones: 2
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Esto añade un grupo de servidores adicional a su cluster MinIO, permitiendo a Milvus escribir en el grupo de servidores MinIO basándose en la capacidad de disco libre de cada grupo de servidores. Por ejemplo, si un grupo de tres pools tiene un total de 10 TiB de espacio libre distribuido entre los pools de la siguiente manera:
Espacio libre | Posibilidad de escritura | |
---|---|---|
Grupo A | 3 TiB | 30% (3/10) |
Grupo B | 2 TiB | 20% (2/10) |
Grupo C | 5 TiB | 50% (5/10) |
MinIO no reequilibra automáticamente los objetos en los nuevos grupos de servidores. Si es necesario, puede iniciar manualmente un procedimiento de reequilibrio con mc admin rebalance
.
Kafka
Aumento de recursos por pod de broker de Kafka
Aumente la capacidad del broker Kafka ajustando los recursos de CPU y memoria para cada pod de broker.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
También puede aumentar la capacidad de disco para el clúster de Kafka cambiando manualmente el valor de spec.resources.requests.storage
para cada reclamación de volumen persistente (PVC) de Kafka. Asegúrese de que su clase de almacenamiento predeterminada permite la ampliación del volumen.
Añadir un grupo de agentes de Kafka adicional (recomendado)
Se recomienda añadir un grupo de servidores Kafka adicional para su instancia de Milvus.
# new-values.yaml
kafka:
replicaCount: 4
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Esto añadirá un broker extra a su cluster de Kafka.
Kafka no reequilibra automáticamente los temas entre todos los corredores. Reequilibre manualmente los temas/particiones entre todos los corredores de Kafka utilizando bin/kafka-reassign-partitions.sh
después de iniciar sesión en cada pod de corredor de Kafka si es necesario.
Pulsar
Pulsar separa la computación y el almacenamiento. Puede aumentar de forma independiente la capacidad de los corredores Pulsar (computación) y de los corredores Pulsar (almacenamiento).
Aumentar recursos por pod de broker Pulsar
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
Tras guardar el fichero, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Aumentar recursos por pod de corredor Pulsar
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
Después de guardar el fichero, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
También puede aumentar la capacidad de disco para el clúster Pulsar cambiando manualmente el valor de spec.resources.requests.storage
para cada reclamo de volumen persistente (PVC) del corredor Pulsar. Tenga en cuenta que su clase de almacenamiento predeterminada debe permitir la ampliación del volumen.
Un pod Pulsar bookie tiene dos tipos de almacenamiento: journal
y legers
. Para el tipo de almacenamiento journal
, considere utilizar ssd
o gp3
como clase de almacenamiento. A continuación se muestra un ejemplo para especificar storageclass para el diario Pulsar.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Añadir un pod de agente Pulsar adicional
# new-values.yaml
pulsar:
broker:
replicaCount: 3
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Añadir un pod de corredor de Pulsar extra (Recomendado)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Aumentar los recursos por pod etcd (recomendado)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Añadir pods etcd adicionales
El número total de pods etcd debe ser impar.
# new-values.yaml
etcd:
replicaCount: 5
Después de guardar el archivo, aplique los cambios con el siguiente comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus