配置MongoDB实例
- 更新时间2025-12-02
- 阅读时长10分钟
配置SystemLink Enterprise访问一个或多个远程MongoDB数据库,以增强可扩展性和容错能力。
- 您将升级2023年10月之前的SystemLink Enterprise版本。
- 将global.mongodb.install设置为true。
有关迁移条件的详细信息,请参考发行说明。
- 如果是第一次安装SystemLink Enterprise,请配置下表中列出的数据库。
- 打开systemlink-secrets.yaml。
-
为每个数据库设置密码。
备注 要对所有数据库使用同一组凭据,可将每个数据库的password字段留空。
表 16. MongoDB实例的配置参数 服务 数据库 用户 密码 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 -
请联系NI技术支持确定以下内容。
- 用于部署的MongoDB实例数量。
- 须连接至特定实例的一项或多项服务。
-
为您的部署配置一个或多个MongoDB连接字符串。有关格式化连接字符串的详细信息,请参考下表。
表 17. 基于部署步骤的配置步骤 部署类型 配置步骤 部署包含一个MongoDB实例。 - 打开systemlink-secrets.yaml文件。
- 使用相应连接字符串的值设置global.secrets.mongodb.connection_string。
部署包含多个MongoDB实例。 针对MongoDB实例配置参数表中的每个服务,配置连接字符串。
- 打开systemlink-values.yaml文件。
- 使用待服务连接的MongoDB实例相应值设置<service_name>.mongodb.connection_string。
- 将<service_name>替换为MongoDB实例配置参数表中服务列的值。
例如,要配置警报服务连接字符串,请设置alarmservice.mongodb.connection_string值。对于表中出现多次的服务,例如userservices,只需设置一次连接字符串。
备注 部署时,SystemLink会动态替换尖括号中的占位符,例如<username>、<password>和<database>,因此,无需手动替换这些占位符。除非另有说明,否则请按原样输入字符串。表 18. 基于MongoDB类型的连接字符串 MongoDB类型 连接字符串 MongoDB Atlas mongodb+srv://<username>:<password>@my-atlas-cluster.mongodb.net/<database> MongoDB社区 mongodb://<username>:<password>@my-mongodb-cluster-0,my-mongodb-cluster-1,my-mongodb-cluster-2/<database>?replicaSet=rs0 MongoDB社区,以及一组用户名和密码 mongodb://myusername:mypassword@my-mongodb-cluster-0,my-mongodb-cluster-1,my-mongodb-cluster-2/<database>?replicaSet=rs0 遵循下列规定:
- myusername 是MongoDB实例的用户名。
- mypassword 是MongoDB实例的密码。
- 打开systemlink-values.yaml。
- 将globals.mongodb.install设置为false。
选择MongoDB部署
大多数SystemLink服务使用MongoDB作为主数据库。您可以在安装SystemLink Enterprise的同一Kubernetes集群中使用MongoDB实例,也可以使用外部实例。自SystemLink Enterprise 2023年10月起,服务支持使用单个独立的MongoDB实例。
使用下表选择最适合您的MongoDB部署。
| 部署 | 适用场合 | 详细信息 |
|---|---|---|
| MongoDB Atlas | 希望简化数据库配置、操作、备份和还原时。 | NI建议使用以下规则进行部署。
备注 您可以使用Atlas的功能来初始化较小的实例并根据需要进行自动扩展。设置限制以防止成本超出预算。 |
| 独立的MongoDB实例,例如MongoDB Enterprise Advanced | 希望控制数据库及额外的企业级控制时。 |
NI建议使用以下规则进行部署。
|
| Helm chart中的MongoDB,例如Bitnami MongoDB chart |
|
您可以使用taint和toleration在现有Kubernetes工作程序节点或专用工作程序节点上运行该实例。 NI建议在部署时使用以下自定义设置。您可以调整请求和限制以适应Kubernetes工作程序节点上的其他Pod。
resources:
requests:
cpu: 4
memory: 32Gi
limits:
memory: 32Gi
persistence:
enabled: true
accessModes:
- ReadWriteOnce
size: 512Gi
annotations: {} |
相关内容
- 系统SystemLink Enterprise组件
SystemLink Enterprise为服务器-客户端架构,可在互连网络上的系统和服务器之间传输数据。使用最低要求的SystemLink Enterprise系统组件作为构建系统的起始点。
- SystemLink Enterprise GitHub发行说明
- MongoDB Atlas
- MongoDB Bitnami
- MongoDB Enterprise Advanced