MongoDB Controllers for Kubernetes Operator 是一个Kubernetes控制器,它使用适用于MongoDB 数据库部署和Ops Manager 的自定义资源定义 (CRD) 来扩展Kubernetes API 。在规划首次部署之前,必须了解这些自定义资源如何映射到Kubernetes基元、 Kubernetes Operator 如何协调变更以及组件如何相互连接。
本节介绍Kubernetes Operator 管理的每种资源的架构,从单集群独立运行部署到具有备份基础架构的多集群Ops Manager拓扑结构。
操作符概述
Kubernetes Operator 作为专用命名空间中的部署运行。它监视类型为 MongoDB、MongoDBOpsManager、MongoDBUser 和 MongoDBMultiCluster 的自定义资源。当您创建或更新这些资源之一时, Kubernetes Operator 会读取规范,对其进行验证,并协调使实际状态与声明状态一致所需的Kubernetes对象(StatefulSet、Services、Secret、ConfigMap)。
Kubernetes Operator 为Ops Manager中的MongoDB 助手提供容器映像,允许您管理和部署MongoDB 数据库集群,并提供全面监控、备份和自动化。 Kubernetes容器充当托管, Ops Manager在该主机上协调 mongod 进程的安装并部署集群配置。
作为部署的一部分, Kubernetes Operator 会为 StatefulSet 创建 PersistentVolume。容器使用这些 PersistentVolume 在两次重启之间维护集群状态。
下图说明了使用Kubernetes Operator 配置Kubernetes实例的流程:
Kubernetes Operator 的架构由两个主节点 (primary node in the replica set)资源系列组成:
使用
MongoDBOpsManager自定义资源, Kubernetes Operator 通过该资源部署Ops Manager组件:应用程序数据库、 Ops Manager应用程序和备份守护程序。部署运行后, Ops Manager组件会协调您对MongoDB 集群配置所做的更新。要学习;了解更多信息,请参阅Ops Manager资源架构。使用
MongoDB自定义资源, Kubernetes Operator 通过该资源部署数据库实例(独立运行、副本集或分片集群)和 资源。部署后,这些资源会协调您对用户或MongoDBMongoDBUser集群配置所做的更新。要学习;了解更多信息,请参阅MongoDB数据库资源架构。
架构指南
- MongoDB数据库资源架构
- 部署类型(Standalone、ReplicaSet、ShardedCluster)、StatefulSet 组合、 MongoDB和 MongoDBUser 协调工作流程(带图表)。
- Ops Manager资源架构
- 应用程序数据库、 Ops Manager 应用程序、备份守护程序组件架构、拓扑结构注意事项以及 MongoDBOpsManager 协调工作流程。
- 多集群架构
- 单集群与多集群模式、限制、功能差异、部署图(带和不带服务网格)、 Ops Manager多集群图、网络、负载均衡、服务网格要求和性能注意事项。
提示
MongoDB数据库资源规范 — MongoDB 数据库资源规范
Ops Manager资源规范 — Ops Manager资源规范
多 Kubernetes 集群资源规范 — 多集群规范
多集群部署先决条件 — 多集群先决条件
在多个Kubernetes集群上部署Ops Manager资源 — 在多个集群上部署Ops Manager
Ops Manager和 AppDB 资源的灾难恢复 — 灾难恢复程序
参考架构 — 参考架构