繁体   English   中英

Kubernetes 和 Mongo 卷

[英]Kubernetes and Mongo Volume

我一直在尝试让一个示例 mongo 项目在 Kubernetes minikube 上工作,但在我的一生中,我无法让音量保持不变

任何人有任何建议

kubectl create -f https://raw.githubusercontent.com/brianbruff/kubernetesPlayground/master/mongo.yaml

我注意到 /data 文件夹似乎已挂载,如果我在节点上创建文件,它们会出现在单个 pod 中(反之亦然)

但由于某种原因,我对 mongo /data/db 文件没有运气,就好像卷的 db 子文件夹没有安装一样

任何建议表示赞赏

解决方案:好的,这很尴尬...我的持久性测试是创建一个数据库然后查看它是否被持久化

但是 mongo 不会保存/保留数据库,除非其中有集合或文档!

是的,我觉得很尴尬……

原因是即使您安装/data从主机/data在波德,在/data/db在容器从别的地方安装。

作为上建议https://hub.docker.com/_/mongo/应安装/data在主机/data/db的容器。

如果您转到minikube ssh并查看为 mongo db docker inspect <mongo-db-container>容器挂载的所有卷,您将看到以下两个挂载(以及其他):

        {
            "Type": "volume",
            "Name": "af5f765585b153526dd7eab75a9ee4b62a0fb59d3482a23dc97b8fd23267557d",
            "Source": "/var/lib/docker/volumes/af5f765585b153526dd7eab75a9ee4b62a0fb59d3482a23dc97b8fd23267557d/_data",
            "Destination": "/data/db",
            "Driver": "local",
            "Mode": "",
            "RW": true,
            "Propagation": ""
        },
        {
            "Type": "bind",
            "Source": "/data",
            "Destination": "/data",
            "Mode": "rslave",
            "RW": true,
            "Propagation": "rslave"
        },

我也面临同样的问题。 但是做了一个小的改变后,它对我来说很好。

volumeMounts:
        - name: <pvc-name>
          mountPath: "/data/db/"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM