Mongodb 更改kubernetes中mongo db的dBpath

Mongodb 更改kubernetes中mongo db的dBpath,mongodb,kubernetes,deployment,yaml,kubernetes-statefulset,Mongodb,Kubernetes,Deployment,Yaml,Kubernetes Statefulset,在k8s上使用nfs上的持久卷部署mongodb(作为有状态集)时,我遇到了一些问题。 基本上,我想更改mongo写入数据的dbPath 这是我的有状态集yaml定义(它的一部分): 这是用于定义保存新dbPath的配置文件的ConfigMap yaml: apiVersion: v1 kind: ConfigMap metadata: name: mongodb-standalone data: mongo.conf: | storage: dbPath: /dat

在k8s上使用nfs上的持久卷部署mongodb(作为有状态集)时,我遇到了一些问题。 基本上,我想更改mongo写入数据的dbPath

这是我的有状态集yaml定义(它的一部分):

这是用于定义保存新dbPath的配置文件的ConfigMap yaml:

apiVersion: v1
kind: ConfigMap
metadata:
  name: mongodb-standalone
data:
  mongo.conf: |
    storage:
      dbPath: /data/db3
问题是,当我以这种方式进行部署时,正如我从日志中看到的,mongo总是在预定义的路径上启动:

2020-02-26T16:22:45.726+0000 I  CONTROL  [main] ***** SERVER RESTARTED *****
2020-02-26T16:22:45.732+0000 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-02-26T16:22:45.740+0000 I  CONTROL  [initandlisten] MongoDB starting : pid=28 port=27017 dbpath=/data/db 64-bit host=mongodb-standalone-0
但当我看我的容器时,我看到的是:

root@mongodb-standalone-0:/data# ls
configdb  db  db3
我可以找到这两个文件夹,但只有在db中有一个是当前集合和索引数据(真实的db内容)。为什么?如何正确设置dbPath

我已经看到我的图像使用了这个入口点(Mongo4.2),但我不太理解它

编辑:

这是db3文件夹(我的自定义文件夹)的内容:

所以mongo在里面写了些东西。 这是db文件夹(默认文件夹)的内容:

此外,当我搜索默认配置文件时,我得到以下信息:

root@mongodb-standalone-0:/etc# ls -lah mongod*          
-rw-r--r-- 1 root root 626 Dec 19  2013 mongod.conf.orig

带有
*.orig
后缀。这意味着什么?

默认配置文件是/etc/mongod.conf。如果您的入口点没有将其覆盖为/config/mongo.conf,那么您应该将其装载到那里。@BurakSerdar我更新了我的问题,尝试将配置文件添加到mongodb args:
命令:[“mongod”]args:[“--config”,“/config/mongo.conf”]
请描述您选择使用的容器映像
mongo:4.2.0
。此映像是否具有预定义的mongod配置文件?如果是,这个预定义的mongod配置文件是否引用了
/data/db
?如果是,是否要使用修改后的mongod配置文件数据路径值生成新映像?(如此多的技术在发挥作用——试图找到配置的位置可能很棘手)*.orig看起来像是原始mongo.conf的备份,这意味着它在部署过程中被替换。mongod.conf.orig里面有什么/数据/db还是/bada/db3?pod上的哪个位置是mongod.conf?默认配置文件是/etc/mongod.conf。如果您的入口点没有将其覆盖为/config/mongo.conf,那么您应该将其装载到那里。@BurakSerdar我更新了我的问题,尝试将配置文件添加到mongodb args:
命令:[“mongod”]args:[“--config”,“/config/mongo.conf”]
请描述您选择使用的容器映像
mongo:4.2.0
。此映像是否具有预定义的mongod配置文件?如果是,这个预定义的mongod配置文件是否引用了
/data/db
?如果是,是否要使用修改后的mongod配置文件数据路径值生成新映像?(如此多的技术在发挥作用——试图找到配置的位置可能很棘手)*.orig看起来像是原始mongo.conf的备份,这意味着它在部署过程中被替换。mongod.conf.orig里面有什么/数据/db还是/bada/db3?你的吊舱上的mongod.conf在哪里?
root@mongodb-standalone-0:/data/db3# ls
WiredTiger  WiredTiger.lock  WiredTiger.turtle  WiredTiger.wt  dev_canp_  diagnostic.data  journal  mongod.lock
root@mongodb-standalone-0:/data/db# ls   
WiredTiger         WiredTiger.wt     collection-0-6274164459280941380.wt  collection-8-6274164459280941380.wt  index-10-6274164459280941380.wt  index-6-6274164459280941380.wt  mongod.lock
WiredTiger.lock    WiredTigerLAS.wt  collection-2-6274164459280941380.wt  diagnostic.data                      index-3-6274164459280941380.wt   index-9-6274164459280941380.wt  sizeStorer.wt
WiredTiger.turtle  _mdb_catalog.wt   collection-4-6274164459280941380.wt  index-1-6274164459280941380.wt       index-5-6274164459280941380.wt   journal                         storage.bson
root@mongodb-standalone-0:/etc# ls -lah mongod*          
-rw-r--r-- 1 root root 626 Dec 19  2013 mongod.conf.orig