对于 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 操作符可以管理所有节点集群中的 mongot 进程。

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

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

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

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

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

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

重要

MongoDB Enterprise 支持外部 MongoDB 源和多集群拓扑结构。MongoDB Community 仅支持 Kubernetes 操作符 在 Kubernetes 内部管理的副本集部署。

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

副本集

单集群

托管

托管

受支持

副本集

单集群

托管

外部

受支持

副本集

单集群

Unmanaged

托管

受支持

副本集

单集群

Unmanaged

外部

受支持

副本集

多集群

托管

托管

不受支持

副本集

多集群

托管

外部

受支持

副本集

多集群

Unmanaged

托管

不受支持

副本集

多集群

Unmanaged

外部

不受支持

分片集群

单集群

托管

托管

受支持

分片集群

单集群

托管

外部

受支持

分片集群

单集群

Unmanaged

托管

受支持

分片集群

单集群

Unmanaged

外部

受支持

分片集群

多集群

托管

托管

不受支持

分片集群

多集群

托管

外部

受支持

分片集群

多集群

Unmanaged

托管

不受支持

分片集群

多集群

Unmanaged

外部

不受支持

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

  • MongoDB Enterprise 仅支持外部 MongoDB 源和多集群拓扑结构。MongoDB Community 支持 Kubernetes 操作符在 Kubernetes 内部托管的副本集部署。

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

  • 多集群拓扑结构需要托管式负载均衡器。Kubernetes 操作符仅在单集群拓扑结构中支持非托管式负载均衡器。

  • 多集群拓扑结构要求中央集群与每个节点集群的 Kubernetes API 服务器之间具有网络连接。

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