对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

支持的拓扑结构

您可以使用 Kubernetes 操作符对各种 MongoDB 部署拓扑结构部署 MongoDB Search 和向量搜索。您选择的拓扑结构决定 Kubernetes 操作符如何将 mongot 进程部署并连接到 MongoDB 部署。

在部署之前,请使用此页面确认您计划的拓扑结构受支持。要确认所需的 MongoDB Server、mongot 和 Kubernetes 操作符版本,请参阅 搜索和向量搜索兼容性和要求。

支持的拓扑结构是以下维度的组合:

  • MongoDB 集群拓扑结构。mongot 进程是为 MongoDB 副本集提供服务,还是为分片集群提供服务。对于分片集群,Kubernetes 操作符会为每个分片部署单独的 mongot 组。

  • 部署类型。您的MongoDB 部署是在单个Kubernetes集群(单集群)中运行,还是跨多个Kubernetes集群(多集群)运行。在多集群拓扑结构中,中央集群中的单个Kubernetes Operatormongot 管理所有成员集群中的 进程。

  • 负载均衡器模式。当您运行多个 mongot 实例时,必须在 mongodmongot 节点之间放置 L7 负载均衡器。您可以使用以下选项之一:

    • 托管负载均衡器。Kubernetes 操作符部署并配置 Envoy 代理。

    • 非托管负载均衡器。您提供并配置自己的 L7 负载均衡器。

    单个 mongot 实例直接连接到 mongod,不需要负载均衡器。

  • MongoDB源模式。 MongoDBSearch资源是使用spec.source.mongodbResourceRef 引用Kubernetes Operator 管理的MongoDB资源(托管),还是使用spec.source.external 配置连接(外部)。

下表列出每种部署维度组合的支持状态:

重要

外部MongoDB源和多集群拓扑需要MongoDB Enterprise。 MongoDB Community仅支持Kubernetes Operator 在Kubernetes内管理的副本集部署。

集群拓扑结构
部署类型
负载均衡器模式
MongoDB源模式
支持状态

副本集

单集群

托管

托管

受支持

副本集

单集群

托管

外部

受支持

副本集

单集群

Unmanaged

托管

受支持

副本集

单集群

Unmanaged

外部

受支持

副本集

多集群

托管

托管

不受支持

副本集

多集群

托管

外部

受支持

副本集

多集群

Unmanaged

托管

不受支持

副本集

多集群

Unmanaged

外部

不受支持

分片集群

单集群

托管

托管

受支持

分片集群

单集群

托管

外部

受支持

分片集群

单集群

Unmanaged

托管

受支持

分片集群

单集群

Unmanaged

外部

受支持

分片集群

多集群

托管

托管

不受支持

分片集群

多集群

托管

外部

受支持

分片集群

多集群

Unmanaged

托管

不受支持

分片集群

多集群

Unmanaged

外部

不受支持

在选择拓扑结构时,查看以下注意事项:

  • 外部MongoDB源和多集群拓扑仅适用于MongoDB Enterprise。 MongoDB Community支持Kubernetes Operator 在Kubernetes内部管理的副本集部署。

  • 在多集群拓扑结构中,使用 spec.source.external 配置MongoDB源,即使Kubernetes Operator 管理MongoDB 部署。多集群拓扑不支持spec.source.mongodbResourceRef

  • 多集群拓扑需要托管负载负载均衡器。 Kubernetes Operator 仅支持单集群拓扑中的非托管负载均衡器。

  • 多集群拓扑需要中央集群和每个成员集群的Kubernetes API 服务器之间的网络连接。

有关其他部署限制,请参阅 mongot 部署限制。