我正在尝试将 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 链接中的脚本。所有这些要么不起作用,要么感觉非常“hacky”,而且我不太愿意将它们部署到客户环境中。
不幸的是,我的工具集有点有限,并且尚未获准使用 MongoDB Atlas 等云产品或 Enterprise Kubernetes Operator 等工具。此用例是否有任何真正受支持的方法,或者是使用云产品或 MondoDB 运营商之一的受支持方法?
提前致谢!
| 归档时间: |
|
| 查看次数: |
789 次 |
| 最近记录: |