我正在尝试将具有默认集合和数据集的MongoDB副本集部署到Kubernetes中。 Kubernetes的文章不太相关,但我想提供它作为背景。
基本上,在我们的环境中,我们以.js脚本的形式提供了一组收集和数据,目前已通过将它们复制到/docker-entrypoint-initdb.d/将它们构建到MongoDB映像中。这在我们当前的用例中很好用,在这种情况下,我们仅使用Docker将MongoDB部署为单个容器。除了修改整个部署过程以将应用程序部署到Kubernetes之外,出于故障转移等明显原因,我还需要将MongoDB部署在副本集中(具有持久性存储)。
我在其他地方遇到并发现的问题(例如此问题https://github.com/docker-library/mongo/issues/339)是/docker-entrypoint-initdb.d/中的脚本在配置副本集时不会以相同的方式运行。我尝试了其他一些操作,例如,在初始化mongo复制集之后运行种子容器,使用集合和数据在不同卷(例如/ data / db2)上构建我们的映像,以便在构建完成后持久存在,以及各种脚本,例如上面github链接中的脚本。所有这些都不起作用或感觉非常“笨拙”,我特别不满意将其部署到客户环境中。
不幸的是,我对工具集有一定的限制,还没有被批准使用像MongoDB Atlas这样的云产品或像Enterprise Kubernetes Operator这样的工具。此用例是否有任何实际支持的方法,还是使用云产品或MondoDB运营商之一的支持方法?
谢谢!