Sie können SystemLink Enterprise für den Zugriff auf eine oder mehr Remote-MongoDB-Datenbanken konfigurieren, um die Skalierbarkeit und die Fehlertoleranz zu verbessern.

Sie müssen Ihre vorhandenen MongoDB-Daten unter den folgenden Bedingungen migrieren.
  • Sie aktualisieren eine SystemLink Enterprise-Version vor 2023-10.
  • Sie haben global.mongodb.install auf true gesetzt.

Weitere Informationen zu den Migrationsbedingungen finden Sie in den Versionshinweisen.

  1. Wenn Sie SystemLink Enterprise zum ersten Mal installieren, stellen Sie die in der folgenden Tabelle aufgeführten Datenbanken bereit.
  2. Öffnen Sie systemlink-secrets.yaml.
  3. Legen Sie das Passwort für jede Datenbank fest.
    Hinweis Um einen Satz Anmeldeinformationen für alle Datenbanken zu verwenden, können Sie das Passwort-Feld für einzelne Datenbanken leer lassen.
    Tabelle 16. Konfigurationsparameter für eine MongoDB-Instanz
    Dienst Datenbank Benutzer Passwort
    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
    filescdc (optional) files files fileingestioncdc.secrets.mongodb.password
    feedservice nifeeds nifeeds feedservice.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
    systems nisystemsmanagement nisystems systems.secrets.mongodb.servicePassword
    systemsstate nisystemsstate nisystemsstate systemsstate.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. Ermitteln Sie Folgendes, indem Sie sich an den NI-Support wenden.
    • Die Anzahl der MongoDB-Instanzen für Ihre Bereitstellung.
    • Der Dienst oder die Dienste, die eine Verbindung zu einer bestimmten Instanz herstellen müssen.
  5. Konfigurieren Sie die MongoDB-Verbindungs-Strings für Ihre Bereitstellung. Weitere Informationen zum Formatieren der Verbindungs-Strings finden Sie in den folgenden Tabellen.
    Tabelle 17. Konfigurationsschritte basierend auf Bereitstellungstypen
    Bereitstellungstyp Konfigurationsschritte
    Ihre Bereitstellung enthält eine MongoDB-Instanz.
    1. Öffnen Sie die Datei systemlink-secrets.yaml.
    2. Legen Sie global.secrets.mongodb.connection_string mit dem Wert des entsprechenden Verbindungs-Strings fest.
    Dieser String verbindet jeden Dienst mit dieser Instanz.
    Ihre Bereitstellung enthält mehrere MongoDB-Instanzen.

    Konfigurieren Sie für jeden Dienst in der Tabelle Konfigurationsparameter für eine MongoDB-Instanz den Verbindungs-String.

    1. Öffnen Sie die Datei systemlink-values.yaml.
    2. Legen Sie <service_name>.mongodb.connection_string mit dem entsprechenden Wert für die MongoDB-Instanz fest, mit der der Dienst eine Verbindung herstellen soll.
    3. Ersetzen Sie <service_name> durch den Wert in der Spalte Dienst der Tabelle Konfigurationsparameter für eine MongoDB-Instanz.

    Legen Sie beispielsweise den Wert alarmservice.mongodb.connection_string fest, um den Alarmdienst-Verbindungs-String zu konfigurieren. Bei Diensten, die mehrmals in der Tabelle angezeigt werden, z. B. userservices, muss der Verbindungs-String nur einmal festgelegt werden.

    Hinweis SystemLink ersetzt die Platzhalter in spitzen Klammern wie <username>, <password> und <database> bei der Bereitstellung dynamisch. Sie müssen diese Platzhalter nicht manuell ersetzen. Geben Sie den String genau so ein, wie er angezeigt wird, sofern nicht anders angegeben.
    Tabelle 18. Verbindungs-String basierend auf MongoDB-Typ
    MongoDB-Typ Verbindungs-String
    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 mit Einzel-Anmeldeinformation mongodb://myusername:mypassword@my-mongodb-cluster-0,my-mongodb-cluster-1,my-mongodb-cluster-2/<database>?replicaSet=rs0

    Mit folgenden Vorgaben:

    • myusername der Benutzername für Ihre MongoDB-Instanz ist.
    • mypassword das Passwort für Ihre MongoDB-Instanz ist.
  6. Öffnen Sie systemlink-values.yaml.
  7. Setzen Sie globals.mongodb.install auf false.

Auswahl eines MongoDB-Deployments

Die meisten SystemLink-Dienste verwenden MongoDB als Primärdatenbank. Sie können eine MongoDB-Instanz im selben Kubernetes-Cluster wie Ihre SystemLink Enterprise-Installation oder eine externe Instanz verwenden. Ab SystemLink Enterprise Version 2023-10 unterstützen Dienste die Verwendung einer einzelnen eigenständigen MongoDB-Instanz.

Verwenden Sie die folgende Tabelle, um die MongoDB-Bereitstellung auszuwählen, die am besten zu Ihrem Anwendungsfall passt.
Tabelle 19. Auswahl eines MongoDB-Deployments
Bereitstellung Anwendungsfälle Details
MongoDB Atlas Sie möchten die Bereitstellung, den Betrieb, die Sicherung und die Wiederherstellung von Datenbanken vereinfachen. NI empfiehlt Folgendes für Ihre Bereitstellung.
  • Verwenden Sie einen dedizierten Cluster.
  • Stellen Sie sicher, dass jedes Replikat über 4 CPU-Kerne und 32 GB Arbeitsspeicher verfügt.
  • Stellen Sie sicher, dass Sie über 512 GB Speicherplatz für die Instanz verfügen.
  • Stellen Sie die Instanz in derselben Cloud-Anbieterregion bereit, in der Ihr Kubernetes-Cluster in der Cloud ausgeführt wird.
Hinweis Sie können Atlas-Funktionen verwenden, um eine kleinere Instanz zu initialisieren und bei Bedarf automatisch zu skalieren. Legen Sie Grenzen fest, um zu verhindern, dass die Kosten Ihr Budget überschreiten.
Eigenständige MongoDB-Instanz wie MongoDB Enterprise Advanced Sie möchten Ihre Datenbank steuern, benötigen aber zusätzliche Kontrolle auf Unternehmensebene.

NI empfiehlt Folgendes für Ihre Bereitstellung.

  • Verwenden Sie einen dedizierten Cluster.
  • Stellen Sie sicher, dass jedes Replikat über 4 CPU-Kerne und 32 GB Arbeitsspeicher verfügt.
  • Stellen Sie sicher, dass Sie über 512 GB Speicherplatz für die Instanz verfügen.
MongoDB in einer Helm-Chart wie der Bitnami MongoDB Chart
  • Sie möchten Ihre Datenbank im selben Kubernetes-Cluster wie Ihre SystemLink Enterprise-Installation haben.
  • Ihr Unternehmen ist mit der Verwaltung einer MongoDB-Instanz vertraut.

Sie können diese Instanz auf vorhandenen Kubernetes-Worker-Knoten oder dedizierten Worker-Knoten mithilfe von Taints und Toleranzen ausführen.

NI empfiehlt die Verwendung der folgenden benutzerdefinierten Einstellungen bei der Bereitstellung. Sie können die Anforderungen und Grenzwerte ändern, um sie an andere Pods auf dem Kubernetes-Worker-Knoten anzupassen.
resources:
  requests:
    cpu: 4
    memory: 32Gi
  limits:
    memory: 32Gi

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