Configurez le logiciel SystemLink Enterprise pour qu'il accède à une base de données MongoDB distante afin d'améliorer l'évolutivité et la tolérance aux pannes.

Vous devez migrer vos données MongoDB existantes dans les conditions suivantes.
  • Vous effectuez une mise à niveau d'une version SystemLink Enterprise antérieure à 2023-10.
  • Vous définissez globals.mongodb.install à true.
Reportez-vous aux notes d'information pour en savoir plus.
  1. Si vous installez SystemLink Enterprise pour la première fois, provisionnez les bases de données répertoriées dans le tableau suivant.
  2. Open systemlink-secrets.yaml.
  3. Définissez le mot de passe pour chaque base de données.
    Remarque Pour utiliser un même jeu d'identifiants pour toutes les bases de données, vous pouvez laisser le champ password vide pour chaque base de données.
    Tableau 13. Paramètres de configuration pour une instance MongoDB
    Service Base de données Utilisateur Mot de passe
    alarmservice nialarm nialarm alarmservice.secrets.mongodb.servicePassword
    assetservice niapm niapm assetservice.secrets.mongodb.servicePassword
    comments comments nicomments comments.secrets.mongodb.servicePassword
    dataframeservice nidataframe nidataframe dataframeservice.secrets.mongodb.servicePassword
    fileingestion files files fileingestion.secrets.mongodb.servicePassword
    nbexecservice ninbexec ninbexec nbexecservice.secrets.mongodb.servicePassword
    notification ninotification ninotification notification.secrets.mongodb.servicePassword
    repository nirepo nirepo repository.secrets.mongodb.servicePassword
    routinescheduletrigger niroutinescheduletrigger niroutinescheduletrigger routinescheduletrigger.secrets.mongodb.servicePassword
    routineservice niroutines niroutines routineservice.secrets.mongodb.servicePassword
    saltmaster minions minions saltmaster.secrets.mongodb.minionsPassword
    saltmaster pillars pillars saltmaster.secrets.mongodb.pillarsPassword
    specificationmanagement (optional) specifications nispecificationmanagement specificationmanagement.secrets.mongodb.servicePassword
    sysmgmtevent nisysmgmtevent nisysmgmtevent sysmgmtevent.secrets.mongodb.servicePassword
    systems nisystemsmanagement nisystems systems.secrets.mongodb.servicePassword
    tags tags tags tags.secrets.mongodb.servicePassword
    taghistorian taghistorian taghistorian taghistorian.secrets.mongodb.servicePassword
    userdata niuserdata niuserdata userdata.secrets.mongodb.servicePassword
    userservices keyservices keyservice userservices.secrets.mongodb.keyServicePassword
    userservices users userservice userservices.secrets.mongodb.userServicePassword
    webappservices webapps webapps webappservices.secrets.mongodb.servicePassword
    workorder (optional) workorders niworkorder workorder.secrets.mongodb.servicePassword
  4. Configurez globals.secrets.mongodb.connection_string avec la chaîne appropriée pour votre instance.
    Remarque SystemLink remplace les éléments de substitution entre chevrons tels que <username>, <password> et <database> de manière dynamique lorsque vous effectuez le déploiement. Vous n'avez pas besoin de remplacer ces éléments de substitution manuellement. Saisissez la chaîne telle qu'elle apparaît, sauf indication contraire.
    OptionDescription
    MongoDB Atlas mongodb+srv://<username>:<password>@my-atlas-cluster.mongodb.net/<database>
    MongoDB Community mongodb://<username>:<password>@my-mongodb-cluster-0,my-mongodb-cluster-1,my-mongodb-cluster-2/<database>?replicaSet=rs0
    MongoDB Community avec un même jeu d'identifiants mongodb://myusername:mypassword@my-mongodb-cluster-0,my-mongodb-cluster-1,my-mongodb-cluster-2/<database>?replicaSet=rs0

    • mon_nom_utilisateur est le nom d'utilisateur pour votre instance MongoDB.
    • mon_mot_de_passe est le mot de passe pour votre instance MongoDB.
  5. Ouvrez systemlink-values.yaml.
  6. Définissez globals.mongodb.install à false.

Choisir un déploiement MongoDB

La plupart des services SystemLink utilisent MongoDB comme base de données principale. Vous pouvez utiliser une instance MongoDB dans le même cluster Kubernetes que votre installation SystemLink Enterprise, ou une instance externe. À partir de la version 2023-10 de SystemLink Enterprise, les services prennent en charge l'utilisation d'une seule instance MongoDB autonome.

Utilisez le tableau suivant pour choisir le déploiement MongoDB qui correspond le mieux à votre scénario d'utilisation.
Déploiement Quand l'utiliser Détails
MongoDB Atlas Vous souhaitez simplifier la mise en service, le fonctionnement et la sauvegarde de la base de données, et la restauration des opérations. NI vous recommande d'utiliser les directives suivantes pour votre déploiement.
  • Utilisez un cluster dédié.
  • Assurez-vous que chaque réplica dispose de 4 cœurs de processeur et de 32 Go de mémoire.
  • Vérifiez que vous disposez de 512 Go de stockage pour l'instance.
  • Déployez l'instance dans la même région de fournisseur de cloud si votre cluster Kubernetes s'exécute dans le cloud.
Remarque Vous pouvez utiliser les fonctionnalités d'Atlas pour initialiser une instance plus petite et effectuer la mise à l'échelle automatique si nécessaire. Définissez des limites pour éviter que le coût ne dépasse votre budget.
Instance MongoDB autonome telle que MongoDB Enterprise Advanced Vous avez besoin de contrôler votre base de données mais un contrôle supplémentaire au niveau de l'entreprise est nécessaire.
MongoDB dans un chart Helm tel que le chart MongoDB Bitnami
  • Vous avez besoin de votre base de données dans le même cluster Kubernetes que votre installation SystemLink Enterprise.
  • Votre organisation peut gérer aisément une instance MongoDB.

Vous pouvez exécuter cette instance sur des nœuds de travail Kubernetes existants ou des nœuds de travail dédiés en utilisant des taints et des tolérances.

NI vous recommande d'utiliser les paramètres personnalisés suivants lors du déploiement. Vous pouvez ajuster les requêtes et les limites pour les adapter aux autres pods sur le nœud de travail Kubernetes.
resources:
  requests:
    cpu: 4
    memory: 32Gi
  limits:
    memory: 32Gi

persistence:
  enabled: true
  accessModes:
    - ReadWriteOnce
  size: 512Gi
  annotations: {}