Alocar recursos no Kubernetes
Este tópico descreve como alocar recursos a um cluster do Milvus no Kubernetes.
Geralmente, os recursos que você aloca a um cluster Milvus em produção devem ser proporcionais à carga de trabalho da máquina. Você também deve considerar o tipo de máquina ao alocar recursos. Embora seja possível atualizar as configurações quando o cluster estiver em execução, recomendamos definir os valores antes de implantar o cluster.
Para obter informações sobre como alocar recursos com o Milvus Operator, consulte Alocar recursos com o Milvus Operator.
1. Ver os recursos disponíveis
Execute kubectl describe nodes
para visualizar os recursos disponíveis nas instâncias que você provisionou.
2. Alocar recursos
Use o Helm para alocar recursos de CPU e memória para os componentes do Milvus.
Há duas maneiras de alocar recursos:
Atribuir recursos com comandos
É necessário definir as variáveis de recursos para cada componente do Milvus se você usar --set
para atualizar as configurações de recursos.
helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi
helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi
Atribuir recursos definindo o ficheiro de configuração
Também pode atribuir recursos de CPU e memória especificando os parâmetros resources.requests
e resources.limits
no ficheiro resources.yaml
.
dataNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
queryNode:
resources:
limits:
cpu: "4"
memory: "16Gi"
requests:
cpu: "1"
memory: "4Gi"
3. Aplicar as configurações
Execute o seguinte comando para aplicar as novas configurações ao seu cluster Milvus.
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
não for especificado, os pods consumirão todos os recursos de CPU e memória disponíveis. Portanto, certifique-se de especificar resources.requests
e resources.limits
para evitar a superalocação de recursos quando outras tarefas em execução na mesma instância exigirem mais consumo de memória.Consulte a documentação do Kubernetes para obter mais informações sobre o gerenciamento de recursos.
O que vem a seguir
- Você também pode querer aprender como:
- Se estiver pronto para implantar seu cluster em nuvens: