Dependências do Scale Milvus
O Milvus depende de várias dependências, como MinIO, Kafka, Pulsar e etcd. O escalonamento desses componentes pode aumentar a adaptabilidade do Milvus a diferentes requisitos.
Para os utilizadores do Milvus Operator, consulte Configurar o armazenamento de objectos com o Milvus Operator, Configurar o meta-armazenamento com o Milvus Operator e Configurar o armazenamento de mensagens com o Milvus Operator.
Dimensionar o MinIO
Aumentar os recursos por pod do MinIO
O MinIO, um sistema de armazenamento de objetos usado pelo Milvus, pode ter seus recursos de CPU e memória aumentados para cada pod.
# new-values.yaml
minio:
resources:
limits:
cpu: 2
memory: 8Gi
Depois de salvar o arquivo, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Também é possível aumentar a capacidade do disco para o cluster MioIO alterando manualmente o valor de spec.resources.requests.storage
para cada PVC (Persistent Volume Claim) do MioIO. Note que a classe de armazenamento predefinida deve permitir a expansão do volume.
Adicionar um pool de servidores MioIO extra (recomendado)
Aconselha-se a adicionar um conjunto de servidores MioIO extra para a sua instância Milvus.
# new-values.yam;
minio:
zones: 2
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Isto adiciona um pool de servidores adicional ao seu cluster MinIO, permitindo que o Milvus escreva no pool de servidores MinIO com base na capacidade de disco livre de cada pool de servidores. Por exemplo, se um grupo de três pools tiver um total de 10 TiB de espaço livre distribuído entre os pools da seguinte forma:
Espaço livre | Possibilidade de escrita | |
---|---|---|
Pool A | 3 TiB | 30% (3/10) |
Grupo B | 2 TiB | 20% (2/10) |
Grupo C | 5 TiB | 50% (5/10) |
O MinIO não reequilibra automaticamente os objectos nos novos conjuntos de servidores. Pode iniciar manualmente um procedimento de reequilíbrio com mc admin rebalance
, se necessário.
Kafka
Aumentar o recurso por pod do corretor do Kafka
Aumente a capacidade do broker Kafka ajustando os recursos de CPU e memória para cada pod de broker.
# new-values.yaml
kafka:
resources:
limits:
cpu: 2
memory: 12Gi
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Você também pode aumentar a capacidade do disco para o cluster do Kafka alterando manualmente o valor de spec.resources.requests.storage
para cada PVC (Reivindicação de Volume Persistente) do Kafka. Certifique-se de que a classe de armazenamento padrão permite a expansão do volume.
Adicionar um pool extra de corretores do Kafka (recomendado)
Aconselha-se a adicionar um pool de servidores Kafka extra para a sua instância Milvus.
# new-values.yaml
kafka:
replicaCount: 4
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Isto adicionará um corretor adicional ao seu cluster do Kafka.
O Kafka não reequilibra automaticamente os tópicos em todos os corretores. Se necessário, reequilibre manualmente os tópicos/partições em todos os corretores do Kafka usando bin/kafka-reassign-partitions.sh
após fazer login em cada pod de corretor do Kafka.
Pulsar
O Pulsar separa a computação e o armazenamento. É possível aumentar de forma independente a capacidade dos brokers Pulsar (computação) e dos bookies Pulsar (armazenamento).
Aumentar os recursos por pod de corretor Pulsar
# new-values.yaml
pulsar:
broker:
resources:
limits:
cpu: 4
memory: 16Gi
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Aumentar os recursos por pod de corretor Pulsar
# new-values.yaml
pulsar:
bookkeeper:
resources:
limits:
cpu: 4
memory: 16Gi
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Você também pode aumentar a capacidade de disco para o cluster Pulsar alterando manualmente o valor de spec.resources.requests.storage
para cada Reivindicação de Volume Persistente (PVC) do corretor Pulsar. Observe que sua classe de armazenamento padrão deve permitir a expansão do volume.
Um pod de agente de apostas Pulsar tem dois tipos de armazenamento: journal
e legers
. Para o tipo de armazenamento journal
, considere usar ssd
ou gp3
como a classe de armazenamento. Aqui está um exemplo para especificar storageclass para o diário pulsar.
pulsar:
bookkeeper:
volumes:
journal:
size: 20Gi
storageClassName: gp3
Adicionar um pod de corretor Pulsar extra
# new-values.yaml
pulsar:
broker:
replicaCount: 3
Depois de salvar o arquivo, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Adicionar um pod extra de corretor do Pulsar (Recomendado)
# new-values.yaml
pulsar:
bookkeeper:
replicaCount: 3
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
etcd
Aumentar os recursos por pod etcd (recomendado)
# new-values.yaml
etcd:
resources:
limits:
cpu: 2
memory: 8Gi
Depois de salvar o arquivo, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus
Adicionar pods etcd extras
O número total de pods do etcd deve ser em números ímpares.
# new-values.yaml
etcd:
replicaCount: 5
Depois de guardar o ficheiro, aplique as alterações com o seguinte comando:
helm upgrade <milvus-release> --reuse-values -f new-values.yaml milvus/milvus