我想将MongoDB部署到具有2个节点的Kubernetes集群中,以后不可能添加另一个节点。
我希望将MongoDB作为独立的部署,因为两个节点都可以通过NFS访问相同的磁盘空间,而且我对复制或高可用性没有要求。但是,在MongoDB文档中,明确指出独立部署不适合生产环境。
您可以为Cloud部署一个独立的MongoDB实例来管理。使用独立实例进行测试和开发。不要将这些部署用于生产系统,因为它们缺乏复制和高可用性。
我能面对什么样的缺点?我是否应该部署为带有仲裁实例的副本集?如果是,为什么?
发布于 2021-01-05 12:13:45
当然,您可以为生产部署一个独立的MongoDB。但是如果这个节点失败了,那么您的应用程序就不再可用了。如果您对可用性没有任何要求,那么就选择一个独立的MongoDB。
但是,运行访问相同物理磁盘(即MongoDB )的2个dbPath服务将无法工作。每个MongoDB实例都需要一个专用的数据文件夹。
在您的情况下,我建议使用复制集。来自一个节点的所有数据都将复制到另一个节点。如果一个节点失败,则应用程序进入“只读/只读”模式。
您可以在主节点上部署仲裁器实例。如果次级节点出现故障,则应用程序仍然完全可用。
发布于 2021-01-05 13:19:01
通常建议将其部署为replicaSet,用于生产,但是,如果您作为独立部署,并且有2xKubernetes节点,kubernetes可以确保在任何可用节点中始终有一个运行实例附加到NFS存储,但风险是,当存储中的数据损坏时,除非经常进行备份,而且您不在乎是否遗漏了一些最近插入的数据,否则您将无法从何处复制.
https://stackoverflow.com/questions/65578347
复制相似问题