Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator
/ /

调节MongoDBOpsManager 自定义资源

下图描述了 Kubernetes Operator 如何协调对MongoDBOpsManager CustomResourceDefinition 的更改 在每个成员 Kubernetes 集群上。

描述 MongoDB Enterprise Kubernetes Operator 如何协调每个成员 Kubernetes 集群上 MongoDBOpsManager 自定义资源定义的更改的图表。
点击放大
  1. Kubernetes 操作符 创建或更新<om_resource_name>-db-config密钥。此密钥包含 MongoDB Agent 用于启动应用程序数据库副本集的配置。

  2. Kubernetes Operator 创建或更新<om_resource_name>-db应用程序数据库 StatefulSet。 此 StatefulSet 包含至少三个 Pod

    • 每个 Pod 运行一个 MongoDB 助手实例。每个 MongoDB 助手都会在其 Pod 上启动一个mongod实例。

    • Kubernetes 操作符 将<om_resource_name>-db-config密钥安装到每个 Pod。MongoDB Agent使用此密钥来配置应用程序数据库副本集。

      在多集群部署中,Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-db-<cluster-idx>的形式分配给每个应用程序数据库的 StatefulSet,例如: om-db-1

  3. Kubernetes Operator 创建或更新<om_resource_name> StatefulSet。 在多集群部署中,Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-<cluster-idx>的形式分配给每个 StatefulSet,例如: om-1

    StatefulSet 为每个 Ops Manager 副本包含一个 Pod。每个 Ops Manager 副本都连接到应用程序数据库。

    MongoDBOpsManager 自定义资源 的大多数更改 触发<om_resource_name> StatefulSet 中 Pod 的滚动升级。 为应用程序数据库启用 TLS 也会触发滚动重启,因为应用程序数据库的连接字符串会发生变化。对spec.backup 的更改不会触发滚动升级。

  4. Kubernetes Operator 调用 Ops Manager API 来创建管理员用户。 Kubernetes Operator 将此管理员用户的档案保存在<om_resource_name>-admin-key密钥中。 Kubernetes Operator 将这些档案用于所有其他 Ops Manager API 调用。当您使用 Kubernetes Operator 部署新的 Ops Manager 资源时,此协调步骤仅发生一次。 Kubernetes Operator 在更新资源时会跳过此步骤。

  5. Kubernetes Operator 对 <om_resource_name>-db 应用程序数据库 StatefulSet 中的 Pod 执行滚动升级,以使MongoDB Ops Manager能够对其进行监控。 默认启用监控。 此协调步骤仅发生一次,例如当您部署新的MongoDB Ops Manager资源时。

  6. 如果spec.backup.enabledtrue ,Kubernetes Operator 将创建<om_resource_name>-backup-daemon StatefulSet 或验证其正在运行。备份守护程序连接到与 Ops Manager 部署相同的应用程序数据库。

    在多集群部署中,Kubernetes Operator 将成员集群的索引后缀以<om_resource_name>-backup-daemon-<cluster-idx>的形式分配给每个备份守护程序的 StatefulSet,例如: om-backup-daemon-1

  7. 如果spec.backup.enabledtrue,Kubernetes 操作符会调用 Ops Manager API,以确保 Ops Manager Application 的备份配置与您在自定义资源定义中定义的配置相匹配。

后退

MongoDBOpsManager 资源定义

来年

多个 Kubernetes 集群上的部署