milvus-logo
LFAI
Home
  • Guide d'administration

Configurer Milvus avec Milvus Operator

Dans un environnement de production, vous devez allouer des ressources au cluster Milvus en fonction du type de machine et de la charge de travail. Vous pouvez configurer lors du déploiement ou mettre à jour les configurations pendant que le cluster fonctionne.

Cette rubrique présente la configuration d'un cluster Milvus lors de son installation avec Milvus Operator.

Cette rubrique suppose que vous avez déployé Milvus Operator. Voir Déployer Milvus Operator pour plus d'informations.

La configuration d'un cluster Milvus avec Milvus Operator comprend :

  • Configurations des ressources globales
  • Configurations des ressources privées
Les configurations des ressources privées écrasent les configurations des ressources globales. Si vous configurez les ressources globalement et que vous spécifiez la ressource privée d'un certain composant en même temps, le composant donnera la priorité et répondra aux configurations privées en premier.

Configuration des ressources globales

Lorsque vous utilisez Milvus Operator pour démarrer un cluster Milvus, vous devez spécifier un fichier de configuration. L'exemple présenté ici utilise le fichier de configuration par défaut.

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

Les détails du fichier de configuration sont les suivants :

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

Le champ spec.components comprend la configuration des ressources globales et privées de tous les composants Milvus. Les quatre champs suivants sont couramment utilisés pour configurer les ressources globales.

  • image: L'image docker Milvus utilisée.
  • resources: Les ressources de calcul allouées à chaque composant.
  • tolerations et nodeSelector: les règles d'ordonnancement de chaque composant Milvus dans le cluster K8s. Voir tolérances et nodeSelector pour plus d'informations.
  • env: Les variables d'environnement.

Si vous souhaitez configurer d'autres champs, consultez la documentation ici.

Pour configurer les ressources globales du cluster Milvus, créez un fichier milvuscluster_resource.yaml.

Exemple

L'exemple suivant configure les ressources globales pour un cluster Milvus.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    nodeSelector: {}
    tolerations: {}
    env: {}
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi

Exécutez la commande suivante pour appliquer les nouvelles configurations :

kubectl apply -f milvuscluster_resource.yaml
Les ressources du cluster seront mises à jour conformément au fichier de configuration s'il existe un cluster Milvus nommé my-release dans le cluster K8s. Sinon, un nouveau cluster Milvus sera créé.

Configuration des ressources privées

A l'origine, dans Milvus 2.0, un cluster Milvus comprend sept composants : proxy, root coord, data coord, query coord, index node, data node et query node. Cependant, un nouveau composant, mix coord, est publié avec Milvus 2.1.0. Mix coord comprend tous les composants du coordinateur. Par conséquent, le démarrage d'un mix coord signifie qu'il n'est pas nécessaire d'installer et de démarrer d'autres coordonnateurs, notamment le coordonnateur racine, le coordonnateur de données et le coordonnateur de requêtes.

Les champs communs utilisés pour configurer chaque composant sont les suivants :

  • replica: Le nombre de répliques de chaque composant.
  • port: Le numéro de port d'écoute de chaque composant.
  • Les quatre champs couramment utilisés dans la configuration globale des ressources : image, env, nodeSelector, tolerations, resources (voir ci-dessus). Pour plus de champs configurables, cliquez sur chaque composant dans cette documentation.
De plus, lors de la configuration du proxy, il y a un champ supplémentaire appelé `serviceType`. Ce champ définit le type de service que Milvus fournit dans le cluster K8s.

Pour configurer les ressources d'un composant spécifique, ajoutez d'abord le nom du composant dans le champ sous spec.componets, puis configurez ses ressources privées.

Objectif Paramètres
Optimisation des performances
Données et méta
Administration
Quota et limites

Exemple de configuration

L'exemple ci-dessous configure les répliques et les ressources de calcul du proxy et du datanode dans le fichier milvuscluster.yaml.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi
    rootCoord: 
      replicas: 1
      port: 8080
      resources:
        limits:
          cpu: '6'
          memory: '10Gi'
    dataCoord: {}
    queryCoord: {}
    indexCoord: {}
    dataNode: {}
    indexNode: {}
    queryNode: {}
    proxy:
      replicas: 1
      serviceType: ClusterIP
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
        requests:
          cpu: 100m
          memory: 128Mi
  config: {}
  dependencies: {}
Cet exemple configure non seulement les ressources globales mais aussi les ressources de calcul privées pour root coord et proxy. Lorsque vous utilisez ce fichier de configuration pour démarrer un cluster Milvus, les configurations des ressources privées seront appliquées à root coord et au proxy, tandis que le reste des composants suivra la configuration des ressources globales.

Exécutez la commande suivante pour appliquer les nouvelles configurations :

kubectl apply -f milvuscluster.yaml

Prochaines étapes

Traduit parDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Cette page a-t - elle été utile ?