Allocare le risorse su Kubernetes
Questo argomento descrive come allocare le risorse a un cluster Milvus su Kubernetes.
In generale, le risorse assegnate a un cluster Milvus in produzione devono essere proporzionate al carico di lavoro della macchina. Quando si assegnano le risorse, è necessario considerare anche il tipo di macchina. Anche se è possibile aggiornare le configurazioni quando il cluster è in funzione, si consiglia di impostare i valori prima di distribuire il cluster.
Per informazioni su come allocare le risorse con Milvus Operator, consultare Allocare le risorse con Milvus Operator.
1. Visualizzare le risorse disponibili
Eseguite kubectl describe nodes
per visualizzare le risorse disponibili sulle istanze di cui avete effettuato il provisioning.
2. Allocare le risorse
Usate Helm per allocare le risorse di CPU e memoria ai componenti Milvus.
Esistono due modi per allocare le risorse:
Allocare le risorse con i comandi
È necessario impostare le variabili delle risorse per ogni componente di Milvus se si usa --set
per aggiornare le configurazioni delle risorse.
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
Allocare le risorse impostando il file di configurazione
È inoltre possibile allocare le risorse di CPU e memoria specificando i parametri resources.requests
e resources.limits
nel file 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. Applicare le configurazioni
Eseguite il seguente comando per applicare le nuove configurazioni al vostro cluster Milvus.
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
non è specificato, i pod consumeranno tutte le risorse di CPU e memoria disponibili. Pertanto, assicurarsi di specificare resources.requests
e resources.limits
per evitare la sovrallocazione delle risorse quando altri task in esecuzione sulla stessa istanza richiedono un maggiore consumo di memoria.Per ulteriori informazioni sulla gestione delle risorse, consultare la documentazione di Kubernetes.
Cosa fare dopo
- Potreste anche voler imparare come:
- Se siete pronti a distribuire il vostro cluster su cloud:
- Imparare a distribuire Milvus su Amazon EKS con Terraform
- Imparare a distribuire il cluster Milvus su GCP con Kubernetes
- Imparare a distribuire Milvus su Microsoft Azure con Kubernetes