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

Kubernetes 操作符架构概述的 MongoDB 控制器

Kubernetes 操作符的 MongoDB 控制器是一个 Kubernetes 控制器,可以通过自定义资源定义 (CRD) 扩展 Kubernetes API,以实现 MongoDB 数据库部署和 MongoDB Ops Manager。在规划第一次部署之前,必须了解这些自定义资源如何映射到 Kubernetes 原语元、Kubernetes 操作符如何协调变更以及组件如何相互连接。

本节介绍了 Kubernetes Operator 所管理的所有资源的架构,从单集群独立部署到备份基础设施的多集群 MongoDB Ops Manager 拓扑。

Kubernetes 操作符作为部署在专用命名空间中运行。它监视类型为 MongoDBMongoDBOpsManagerMongoDBUserMongoDBMultiCluster 的自定义资源。当您创建或更新其中一个资源时,Kubernetes 操作符会读取规范、验证它,并协调所需的 Kubernetes 对象 (StatefulSets、Services、Secrets、ConfigMaps),以使实际状态与您声明的状态保持一致。

Kubernetes 操作符为 MongoDB Ops Manager 中的 MongoDB Agent 提供容器映像,您可以通过该映像管理和部署具有全面监控、备份和自动化功能的 MongoDB 数据库集群。Kubernetes 容器充当主机, MongoDB Ops Manager 在该主机上协调 mongod 进程的安装并部署集群配置。

作为部署的一部分,Kubernetes 操作符会为 StatefulSets 创建持久卷。容器使用这些持久卷在两次重启之间维护集群状态。

下图显示了使用 Kubernetes 操作符 配置 Kubernetes 实例的流程:

显示使用 Kubernetes Operator 配置 Kubernetes 实例流程的图表。
点击放大

Kubernetes Operator 的架构由两个主要资源系列组成:

  • 使用 MongoDBOpsManager 自定义资源,Kubernetes 操作符通过该资源部署 MongoDB Ops Manager 组件:应用程序数据库、MongoDB Ops Manager 应用程序和备份守护程序。部署启动后,MongoDB Ops Manager 组件将协调您对 MongoDB 集群配置所做的更新。要了解更多,请参阅 MongoDB Ops Manager 资源架构。

  • 使用 MongoDB 通过定制资源,Kubernetes 操作符部署数据库实例(独立运行的实例、副本集或分片集群)和MongoDBUser 资源。部署后,这些资源会协调您对用户或 MongoDB 集群配置所做的更新。要了解更多信息,请参阅MongoDB 数据库资源架构。

MongoDB数据库资源架构
部署类型(独立运行的实例、副本集、分片集群)、StatefulSet 组成、MongoDB 和 MongoDBUser 协调工作流程及图表。
Ops Manager资源架构
应用程序数据库、MongoDB Ops Manager 应用程序、备份守护程序组件架构、拓扑考虑以及 MongoDBOpsManager 协调工作流。
多集群架构
单集群模式与多集群模式、限制、功能差异、部署图(带服务网格和不带服务网格)、Ops Manager 多集群图、网络、负载均衡、服务网格要求和性能考虑。

提示