DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Database Zone»Partage technique : comment modifier les configurations avancées de Milvus
    Database Zone

    Partage technique : comment modifier les configurations avancées de Milvus

    novembre 8, 2021
    Partage technique : comment modifier les configurations avancées de Milvus
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Fond

    Lors de l’utilisation de la base de données vectorielle Milvus, vous devrez modifier la configuration par défaut pour répondre aux exigences des différents scénarios. Auparavant, un utilisateur de Milvus a partagé sur Comment modifier la configuration de Milvus déployé à l’aide de Docker Compose. Et dans cet article, je voudrais partager avec vous comment modifier la configuration de Milvus déployé sur Kubernetes.

    Modifier la configuration de Milvus sur Kubernetes

    Vous pouvez choisir différents plans de modification en fonction des paramètres de configuration que vous souhaitez modifier. Tous les fichiers de configuration Milvus sont stockés sous Milvus/Configurations. Lors de l’installation de Milvus sur Kubernetes, un référentiel Milvus Helm Chart sera ajouté localement. En exécutant helm show values milvus/milvus, vous pouvez vérifier les paramètres modifiables directement avec Chart. Pour les paramètres modifiables avec Chart, vous pouvez passer le paramètre en utilisant --values ou --set. Pour plus d’informations, voir Milvus Helm Chart et Helm.

    Si les paramètres que vous prévoyez de modifier ne figurent pas dans la liste, vous pouvez suivre les instructions ci-dessous :

    Dans les étapes suivantes, le paramètre rootcoord.dmlChannelNum dans /milvus/configs/advanced/root_coord.yaml doit être modifié à des fins de démonstration. La gestion des fichiers de configuration de Milvus sur Kubernetes est implémentée via l’objet de ressource ConfigMap. Pour modifier le paramètre, vous devez d’abord mettre à jour l’objet ConfigMap de la version Chart correspondante, puis modifier les fichiers de ressources de déploiement des pods correspondants.

    Attention, cette méthode ne s’applique qu’à la modification des paramètres sur les applications Milvus déployées. Pour modifier les paramètres dans /milvus/configs/advanced/*.yaml avant le déploiement, vous devrez re-développer le Milvus Helm Chart.

    Modifier ConfigMap YAML

    Comme indiqué ci-dessous, votre version Milvus exécutée sur Kubernetes correspond à un objet ConfigMap portant le même nom que la version. Les data section de l’objet ConfigMap n’inclut que les configurations dans milvus.yaml. Pour changer le rootcoord.dmlChannelNum dans root_coord.yaml, vous devez ajouter les paramètres dans root_coord.yaml à la data section dans le ConfigMap YAML et modifiez le paramètre spécifique.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: milvus-chaos
      ...
    data:
      milvus.yaml: >
        ......
      root_coord.yaml: |
        rootcoord:
          dmlChannelNum: 128
          maxPartitionNum: 4096
          minSegmentSizeToEnableIndex: 1024
          timeout: 3600 # time out, 5 seconds
          timeTickInterval: 200 # ms

    Modifier le déploiement YAML

    Les données stockées dans un ConfigMap peuvent être référencées dans un volume de type configMap et consommées par des applications conteneurisées s’exécutant dans un pod. Pour diriger les pods vers les nouveaux fichiers de configuration, vous devez modifier les modèles de pods qui doivent charger les configurations dans root_coord.yaml. Plus précisément, vous devez ajouter une déclaration de montage sous le spec.template.spec.containers.volumeMounts section dans le déploiement YAML.

    En prenant le déploiement YAML du pod rootcoord comme exemple, un configMap tapez le volume nommé milvus-config est spécifié dans .spec.volumes section. Et en spec.template.spec.containers.volumeMounts section, le volume est déclaré à monter milvus.yaml de votre sortie Milvus le /milvus/configs/milvus.yaml. De même, il vous suffit d’ajouter une déclaration de montage spécifiquement pour le conteneur rootcoord pour monter le root_coord.yaml au /milvus/configs/advanced/root_coord.yaml, et ainsi le conteneur peut accéder au nouveau fichier de configuration.

    spec:
      replicas: 1
      selector:
        ......
      template:
        metadata:
          ...
        spec:
          volumes:
            - name: milvus-config
              configMap:
                name: milvus-chaos
                defaultMode: 420
          containers:
            - name: rootcoord
              image: 'milvusdb/milvus-dev:master-20210906-86afde4'
              args:
                ...
              ports:
                ...
              resources: {}
              volumeMounts:
                - name: milvus-config
                  readOnly: true
                  mountPath: /milvus/configs/milvus.yaml
                  subPath: milvus.yaml
                - name: milvus-config
                  readOnly: true
                  mountPath: /milvus/configs/advanced/`root_coord.yaml
                  subPath: root_coord.yaml
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
              imagePullPolicy: IfNotPresent
          restartPolicy: Always
          terminationGracePeriodSeconds: 30
          dnsPolicy: ClusterFirst
          securityContext: {}
          schedulerName: default-scheduler

    Vérifier le résultat

    Le kubelet vérifie si la ConfigMap montée est fraîche à chaque synchronisation périodique. Lorsque le ConfigMap consommé dans le volume est mis à jour, les clés projetées sont également automatiquement mises à jour. Lorsque le nouveau pod s’exécute à nouveau, vous pouvez vérifier si la modification a réussi dans le pod. Commandes pour vérifier le paramètre rootcoord.dmlChannelNum sont partagés ci-dessous :

    $ kctl exec -ti milvus-chaos-rootcoord-6f56794f5b-xp2zs -- sh
    # cd configs/advanced
    # pwd
    /milvus/configs/advanced
    # ls
    channel.yaml  common.yaml  data_coord.yaml  data_node.yaml  etcd.yaml  proxy.yaml  query_node.yaml  root_coord.yaml
    # cat root_coord.yaml
    rootcoord:
      dmlChannelNum: 128
      maxPartitionNum: 4096
      minSegmentSizeToEnableIndex: 1024
      timeout: 3600 # time out, 5 seconds
      timeTickInterval: 200 # ms
    # exit

    Ci-dessus se trouve la méthode pour modifier les configurations avancées dans Milvus déployées sur Kubernetes. La future version de Milvus intégrera toutes les configurations dans un seul fichier et prendra en charge la mise à jour de la configuration via le graphique de barre. Mais avant cela, j’espère que cet article pourra vous aider en tant que solution temporaire.

    Engagez-vous avec notre communauté open source

    • Trouvez ou contribuez à Milvus sur GitHub.
    • Interagissez avec la communauté via le forum.
    • Connectez-vous avec nous sur Twitter.
    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.