Allouer des ressources sur Kubernetes
Cette rubrique décrit comment allouer des ressources à un cluster Milvus sur Kubernetes.
En règle générale, les ressources allouées à un cluster Milvus en production doivent être proportionnelles à la charge de travail de la machine. Vous devez également prendre en compte le type de machine lors de l'allocation des ressources. Bien que vous puissiez mettre à jour les configurations lorsque le cluster est en cours d'exécution, nous vous recommandons de définir les valeurs avant de déployer le cluster.
Pour plus d'informations sur l'allocation des ressources avec Milvus Operator, voir Allocation des ressources avec Milvus Operator.
1. Afficher les ressources disponibles
Exécutez kubectl describe nodes
pour afficher les ressources disponibles sur les instances que vous avez provisionnées.
2. Allouer des ressources
Utilisez Helm pour allouer des ressources CPU et mémoire aux composants Milvus.
Il existe deux façons d'allouer des ressources :
Allouer des ressources avec des commandes
Vous devez définir les variables de ressources pour chaque composant Milvus si vous utilisez --set
pour mettre à jour les configurations de ressources.
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
Allouer des ressources en définissant le fichier de configuration
Vous pouvez également allouer des ressources CPU et mémoire en spécifiant les paramètres resources.requests
et resources.limits
dans le fichier 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. Appliquer les configurations
Exécutez la commande suivante pour appliquer les nouvelles configurations à votre cluster Milvus.
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
n'est pas spécifié, les pods consommeront toutes les ressources CPU et mémoire disponibles. Veillez donc à spécifier resources.requests
et resources.limits
pour éviter la surallocation des ressources lorsque d'autres tâches en cours d'exécution sur la même instance nécessitent une consommation de mémoire plus importante.Consultez la documentation de Kubernetes pour plus d'informations sur la gestion des ressources.
Prochaines étapes
- Vous voudrez peut-être aussi apprendre à
- Si vous êtes prêt à déployer votre cluster sur des nuages :
- Apprendre à déployer Milvus sur Amazon EKS avec Terraform
- Apprendre à déployer le cluster Milvus sur GCP avec Kubernetes
- Apprendre à déployer Milvus sur Microsoft Azure avec Kubernetes