在规划Enterprise Advanced部署时,您做出的第一个架构决策是MongoDB 的运行位置:虚拟机、物理服务器还是Kubernetes。
本页解释了为什么这个决定很重要,因为每个平台都是合适的,并总结了平台之间的主要区别。它不包括安装。选择平台后, Ops Manager和MongoDB Controllers for Kubernetes (MCK) 文档将引导您完成安装和设置进程。
为什么选择很重要
虚拟机、物理服务器和Kubernetes都是完全支持Enterprise Advanced部署的平台,但它们有显着的区别。您选择的平台决定了MongoDB提供的自动化级别、可以使用的功能以及以后更改选择的难度。
选择平台
Kubernetes
在此路径上,MCK( MongoDB Kubernetes操作符)以声明式方式管理基础架构和MongoDB配置。这意味着一个或少数配置文件定义了MongoDB 部署, MongoDB自动化导致基础架构和MongoDB配置的管理。
它是如何工作:
您可以声明所需的部署。然后,MCK 会部署和管理MongoDB使用的Kubernetes资源,例如 StatefulSet、Pod、存储和网络。 MCK 与Ops Manager协调并配置部署。
自动化、备份和监控仍然需要Ops Manager 。 MCK 和Ops Manager协同工作。 MCK 可实现基础架构的自动化, Ops Manager可提供运行MongoDB即服务所需的服务。它们不是替代品。
权衡和好处:
部署、扩展、分片更改和升级成为声明性配置更改,而不需要在内部协调基础架构和Ops Manager操作。
部署和升级不需要跨主机安装或重新安装二进制文件。
多区域部署:副本集或分片集群的成员可以跨越不同位置的多个Kubernetes集群,从而确保跨Kubernetes集群和地理区域的韧性和高可用性。如果一个集群或站点出现故障,可以通过在其他Kubernetes集群中自动创建新的MongoDB节点,在另一个集群或站点中重新创建成员。
对于Enterprise Advanced Search 节点是必需的。如果搜索在范围内,则Kubernetes必须至少是搜索节点部署的一部分,但不一定是数据库节点的部署的一部分。
Kubernetes是MongoDB可以提供基础架构层自动化的唯一平台。示例,为搜索节点自动预配负载均衡。
与虚拟机一样,您仍然对根本的基础架构及其架构和设置负责。这包括为Kubernetes集群预配有状态存储,以及为管理和维护Kubernetes基础架构的任何相关内部团队支持。根据运行MongoDB的要求,如果您想跨多个位置(即多个Kubernetes集群)部署单个MongoDB ,这可能会扩展到Kubernetes集群之间的连接等问题。
选择正确时:
组织希望运行“MongoDB即服务”以最小的运营开销。
新的Enterprise Advanced部署。
需要统一界面进行基础架构和数据库管理以及访问权限包括搜索在内的完整Enterprise Advanced功能的团队。
VM 或物理服务器
在此路径中,您将负责管理MongoDB部署的基础架构生命周期。 MongoDB 助手在每个托管上运行,并允许您通过Ops Manager配置MongoDB 。
它是如何工作:
您可以自行预配虚拟机或物理服务器。 MongoDB不在 VM 层管理基础架构。您可以使用自动化或现有工具来预配虚拟机或服务器。
您在每台托管上安装MongoDB 助手并将其点Ops Manager。
Ops Manager负责处理在这些主机上运行的部署的配置、备份和监控。
权衡和好处:
在虚拟机上运行允许您重复使用任何已熟悉的基础架构预配工具来为MongoDB创建主机。
但是,这确实平均值任何涉及基础架构和MongoDB配置更改的操作都是两步操作,包括部署或扩展。您可以预配基础架构或调整其大小,例如添加虚拟机或添加RAM和 CPU,然后在Ops Manager中进行相应的配置更改。两个系统控制同一部署、基础架构和配置的不同部分,并且可以让它们保持一致。保持两个系统的一致性是您的责任,如果需要,您必须自动化并保持这种一致性。
MongoDB无法为您恢复基础架构。示例,如果一个站点出现故障,在另一个位置重新创建副本集或分片成员意味着您必须预配新主机、配置代理并将它们重新附加到集群。
选择正确时:
使用现有基础架构工具和 VM自动化建立 VM 集群。
无法采用Kubernetes 的组织。
完全支持基于虚拟机的部署,目前许多大型Enterprise Advanced客户都以这种方式运行。这不是传统或已弃用的路径,无论根本的平台如何, MongoDB都会持续进行投资,以减少自托管MongoDB的开销和复杂性。
注意
即使您的数据库在虚拟机上运行,搜索也需要Kubernetes 。如果您稍后添加搜索,则会为搜索层级引入Kubernetes环境。您的数据库和Ops Manager无需移动。
我们回顾一下
虚拟机、物理服务器和Kubernetes都是完全支持运行MongoDB 的平台。 Kubernetes提供最高级别的自动化,包括集群上的基础架构预配和生命周期管理,并且它是唯一支持 Search 的平台。您还负责提供和管理根本的Kubernetes集群和任何有状态存储。
如果Kubernetes不在您的组织范围内,则完全支持使用Ops Manager进行基于虚拟机的部署。 Enterprise Advanced的核心价值,包括备份、监控、编排和支持,仍然可用。